1. 04 5月, 2012 9 次提交
  2. 26 4月, 2012 1 次提交
  3. 25 4月, 2012 2 次提交
    • J
      Merge branch 'mh/ref-api' · 5e69491b
      Junio C Hamano 提交于
      Allows walking only a sub-hierarchy in refs/*.
      
      By Michael Haggerty
      * mh/ref-api:
        do_for_each_ref(): only iterate over the subtree that was requested
        refs: store references hierarchically
        sort_ref_dir(): simplify logic
        refs.c: rename ref_array -> ref_dir
        struct ref_entry: nest the value part in a union
        check_refname_component(): return 0 for zero-length components
        free_ref_entry(): new function
        names_conflict(): simplify implementation
        repack_without_ref(): reimplement using do_for_each_ref_in_array()
        do_for_each_ref_in_arrays(): new function
        do_for_each_ref_in_array(): new function
        refs: manage current_ref within do_one_ref()
        refs.c: reorder definitions more logically
      5e69491b
    • J
      Merge branch 'hv/submodule-recurse-push' · 419f2ecf
      Junio C Hamano 提交于
      "git push --recurse-submodules" learns to optionally look into the
      histories of submodules bound to the superproject and push them out.
      
      By Heiko Voigt
      * hv/submodule-recurse-push:
        push: teach --recurse-submodules the on-demand option
        Refactor submodule push check to use string list instead of integer
        Teach revision walking machinery to walk multiple times sequencially
      419f2ecf
  4. 24 4月, 2012 21 次提交
    • R
      git-svn: drop redundant blocking of SIGPIPE · 8c3a534c
      Roman Kagan 提交于
      Now that SIGPIPE is ignored there's no point blocking it.
      Signed-off-by: NRoman Kagan <rkagan@mail.ru>
      Acked-by: NEric Wong <normalperson@yhbt.net>
      8c3a534c
    • R
      git-svn: ignore SIGPIPE · 6ade9bda
      Roman Kagan 提交于
      In HTTP with keep-alive it's not uncommon for the client to notice that
      the server decided to stop maintaining the current connection only when
      sending a new request.  This naturally results in -EPIPE and possibly
      SIGPIPE.
      
      The subversion library itself makes no provision for SIGPIPE.  Some
      combinations of the underlying libraries do (typically SIG_IGN-ing it),
      some don't.
      
      Presumably for that reason all subversion commands set SIGPIPE to
      SIG_IGN early in their main()-s.
      
      So should we.
      
      This, together with the previous patch, fixes the notorious "git-svn
      died of signal 13" problem (see e.g.
      http://thread.gmane.org/gmane.comp.version-control.git/134936).
      Signed-off-by: NRoman Kagan <rkagan@mail.ru>
      Acked-by: NEric Wong <normalperson@yhbt.net>
      6ade9bda
    • R
      git-svn: use POSIX::sigprocmask to block signals · 037a98cd
      Roman Kagan 提交于
      In order to maintain consistency of the database mapping svn revision
      numbers to git commit ids, rev_map_set() defers signal processing until
      it's finished with an append transaction.[*]
      
      The conventional way to achieve this is through sigprocmask(), which is
      available in perl in the standard POSIX module.
      
      This is implemented by this patch.  One important consequence of it is
      that the signal handlers won't be unconditionally set to SIG_DFL anymore
      upon the first invocation of rev_map_set() as they used to.  As a
      result, the signals ignored by git-svn parent will remain ignored;
      otherwise the behavior remains the same.
      
      This patch paves the way to ignoring SIGPIPE throughout git-svn which
      will be done in the followup patch.
      
      [*] Deferring signals is not enough to ensure the database consistency:
      the program may die on SIGKILL or power loss, run out of disk space,
      etc.  However that's a separate issue that this patch doesn't address.
      Signed-off-by: NRoman Kagan <rkagan@mail.ru>
      Acked-by: NEric Wong <normalperson@yhbt.net>
      037a98cd
    • J
      aa39b858
    • J
      Merge branch 'bw/test-fix-grep-gnuism' · e22a81ca
      Junio C Hamano 提交于
      Fix two places that were the only place in the test suite that gave "a\+"
      to platform grep and expected it to mean one or more "a", which is a
      blatant GNUism.
      
      * bw/test-fix-grep-gnuism:
        t9400: fix gnuism in grep
      e22a81ca
    • J
      Merge branch 'rj/submodule-mswin-path' · 8ea07808
      Junio C Hamano 提交于
      By Ramsay Jones
      * rj/submodule-mswin-path:
        git-submodule.sh: Don't use $path variable in eval_gettext string
      8ea07808
    • J
      Merge branch 'rj/sh-setup-mswin-pwd' · d0776495
      Junio C Hamano 提交于
      By Ramsay Jones
      * rj/sh-setup-mswin-pwd:
        git-sh-setup.sh: Add an pwd() function for MinGW
      d0776495
    • J
      Merge branch 'rj/mingw-isguid' · e7779c2e
      Junio C Hamano 提交于
      By Ramsay Jones
      * rj/mingw-isguid:
        compat/mingw.h: Set S_ISUID to prevent a fast-import test failure
      e7779c2e
    • J
      Merge branch 'jn/fast-import-doc' · b5d681ba
      Junio C Hamano 提交于
      By Jonathan Nieder
      * jn/fast-import-doc:
        fast-import doc: cat-blob and ls responses need to be consumed quickly
      b5d681ba
    • J
      Merge branch 'jn/more-i18ncmp' · eb9756bd
      Junio C Hamano 提交于
      By Jonathan Nieder
      * jn/more-i18ncmp:
        test: am of empty patch should not succeed
        test: use test_i18ncmp for "Patch format detection failed" message
        test: do not rely on US English tracking-info messages
      eb9756bd
    • J
      Merge branch 'jl/maint-submodule-recurse-fetch' · 987dbb86
      Junio C Hamano 提交于
      "git fetch" that recurses into submodules on demand did not check if
      it needs to go into submodules when non branches (most notably, tags)
      are fetched.
      
      By Jens Lehmann
      * jl/maint-submodule-recurse-fetch:
        submodules: recursive fetch also checks new tags for submodule commits
      987dbb86
    • J
      Merge branch 'jc/maint-blame-minimal' · 9d76db4e
      Junio C Hamano 提交于
      "git blame" started missing quite a few changes from the origin since we
      stopped using the diff minimalization by default in v1.7.2 era.
      
      * jc/maint-blame-minimal:
        blame: accept --need-minimal
      9d76db4e
    • J
      Merge branch 'lp/maint-diff-three-dash-with-graph' · 31a199a7
      Junio C Hamano 提交于
      "log -p --graph" used with "--stat" had a few formatting error.
      
      By Lucian Poston
      * lp/maint-diff-three-dash-with-graph:
        t4202: add test for "log --graph --stat -p" separator lines
        log --graph: fix break in graph lines
        log --graph --stat: three-dash separator should come after graph lines
      31a199a7
    • J
      Merge branch 'rs/commit-list-sort-in-batch' · ba8e6326
      Junio C Hamano 提交于
      Setting up a revision traversal with many starting points was inefficient
      as these were placed in a date-order priority queue one-by-one.
      
      By René Scharfe (3) and Junio C Hamano (1)
      * rs/commit-list-sort-in-batch:
        mergesort: rename it to llist_mergesort()
        revision: insert unsorted, then sort in prepare_revision_walk()
        commit: use mergesort() in commit_list_sort_by_date()
        add mergesort() for linked lists
      ba8e6326
    • J
      Merge branch 'jh/apply-free-patch' · 58bbace8
      Junio C Hamano 提交于
      Valgrind reports quite a lot of discarded memory inside apply.
      Fix them, audit and document the buffer ownership rules.
      
      By Junio C Hamano (8) and Jared Hance (1)
      * jh/apply-free-patch:
        apply: document buffer ownership rules across functions
        apply: tighten constness of line buffer
        apply: drop unused macro
        apply: free unused fragments for submodule patch
        apply: free patch->result
        apply: release memory for fn_table
        apply: free patch->{def,old,new}_name fields
        apply: rename free_patch() to free_patch_list()
        apply: do not leak patches and fragments
      58bbace8
    • J
      Merge branch 'sl/test-wc-l-line-count' · b6195198
      Junio C Hamano 提交于
      By Stefano Lattarini
      * sl/test-wc-l-line-count:
        tests: modernise style: more uses of test_line_count
      b6195198
    • J
      Merge branch 'jn/debian-customizes-default-editor' · 2347982d
      Junio C Hamano 提交于
      Make it easier for distros to document custom pager and editor they
      used when building their binary releases in "git var" documentation.
      
      By Jonathan Nieder
      * jn/debian-customizes-default-editor:
        var doc: advertise current DEFAULT_PAGER and DEFAULT_EDITOR settings
        var doc: default editor and pager are configurable at build time
      2347982d
    • J
      Merge branch 'rl/show-empty-prefix' · bca57eea
      Junio C Hamano 提交于
      "git rev-parse --show-prefix" emitted nothing when run at the
      top-level of the working tree, while "git rev-parse --show-cdup" gave
      an empty line.  Make them consistent.
      
      By Ross Lagerwall
      * rl/show-empty-prefix:
        rev-parse --show-prefix: add in trailing newline
      bca57eea
    • J
      Merge branch 'pw/git-p4' · 4c9d7bc4
      Junio C Hamano 提交于
      By Pete Wyckoff
      * pw/git-p4:
        git p4: use "git p4" directly in tests
        git p4: update name in script
        git-p4: move to toplevel
      4c9d7bc4
    • J
      Merge branch 'ms/remote-usage-string' · 29a03fa5
      Junio C Hamano 提交于
      Adds some subcommands that were not listed in "git remote --help"
      usage strings.
      
      As an independent follow-up, we may want to rethink how the overall
      usage string and subcommand usage strings are maintained.
      
      By Michael Schubert
      * ms/remote-usage-string:
        remote: update builtin usage
      29a03fa5
    • J
      Merge branch 'jk/rebase-i-submodule-conflict-only' · 1f643446
      Junio C Hamano 提交于
      Giving "--continue" to a conflicted "rebase -i" session skipped a commit
      that only results in changes to submodules.
      
      By John Keeping
      * jk/rebase-i-submodule-conflict-only:
        rebase -i continue: don't skip commits that only change submodules
      1f643446
  5. 21 4月, 2012 7 次提交
    • J
      RelNotes: the third batch · d1ca788f
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      d1ca788f
    • J
      Merge branch 'js/spawn-via-shell-path-fix' · 8cc52234
      Junio C Hamano 提交于
      Mops up an unfortunate fallout from bw/spawn-via-shell-path topic.
      
      By Johannes Sixt
      * js/spawn-via-shell-path-fix:
        Do not use SHELL_PATH from build system in prepare_shell_cmd on Windows
      8cc52234
    • J
      Merge branch 'ct/advise-push-default' · c5da24a7
      Junio C Hamano 提交于
      Break down the cases in which "git push" fails due to non-ff into
      three categories, and give separate advise messages for each case.
      
      By Christopher Tiwald (2) and Jeff King (1)
      * ct/advise-push-default:
        Fix httpd tests that broke when non-ff push advice changed
        clean up struct ref's nonfastforward field
        push: Provide situational hints for non-fast-forward errors
      c5da24a7
    • J
      Merge branch 'bw/submodule-sed-solaris' · af78c317
      Junio C Hamano 提交于
      By Ben Walton
      * bw/submodule-sed-solaris:
        Avoid bug in Solaris xpg4/sed as used in submodule
      af78c317
    • J
      Merge branch 'jk/run-command-eacces' · bd6f71d1
      Junio C Hamano 提交于
      When PATH contains an unreadable directory, alias expansion code did not
      kick in, and failed with an error that said "git-subcmd" was not found.
      
      By Jeff King (1) and Ramsay Jones (1)
      * jk/run-command-eacces:
        run-command: treat inaccessible directories as ENOENT
        compat/mingw.[ch]: Change return type of exec functions to int
      bd6f71d1
    • J
      Merge branch 'jc/push-upstream-sanity' · 27da1cf6
      Junio C Hamano 提交于
      Fix broken 'push to upstream' implementation.  "git push $there" without
      refspec, when the current branch is set to push to a remote different from
      $there, used to push to $there using the upstream information to a remote
      unreleated to $there.
      
      * jc/push-upstream-sanity:
        push: error out when the "upstream" semantics does not make sense
      27da1cf6
    • J
      Merge branch 'jc/am-report-3way' · bb52e7f6
      Junio C Hamano 提交于
      When "git am -3" needs to fall back to an application to a synthesized
      preimage followed by a 3-way merge, the paths that needed such treatment
      are now reported to the end user, so that the result in them can be
      eyeballed with extra care.
      
      * jc/am-report-3way:
        am -3: list the paths that needed 3-way fallback
      bb52e7f6