1. 04 11月, 2015 26 次提交
    • J
      Sync with maint · aa826b65
      Junio C Hamano 提交于
      aa826b65
    • J
      Merge branch 'mk/blame-error-message' into maint · fdca2bed
      Junio C Hamano 提交于
      The error message from "git blame --contents --reverse" incorrectly
      talked about "--contents --children".
      
      * mk/blame-error-message:
        blame: fix option name in error message
      fdca2bed
    • J
      Merge branch 'jk/merge-file-exit-code' into maint · 5c15ca0b
      Junio C Hamano 提交于
      "git merge-file" tried to signal how many conflicts it found, which
      obviously would not work well when there are too many of them.
      
      * jk/merge-file-exit-code:
        merge-file: clamp exit code to maximum 127
      5c15ca0b
    • J
      Merge branch 'dt/name-hash-dir-entry-fix' into maint · 3a27eec4
      Junio C Hamano 提交于
      The name-hash subsystem that is used to cope with case insensitive
      filesystems keeps track of directories and their on-filesystem
      cases for all the paths in the index by holding a pointer to a
      randomly chosen cache entry that is inside the directory (for its
      ce->ce_name component).  This pointer was not updated even when the
      cache entry was removed from the index, leading to use after free.
      This was fixed by recording the path for each directory instead of
      borrowing cache entries and restructuring the API somewhat.
      
      * dt/name-hash-dir-entry-fix:
        name-hash: don't reuse cache_entry in dir_entry
      3a27eec4
    • J
      Merge branch 'jc/am-3-fallback-regression-fix' into maint · ced2321a
      Junio C Hamano 提交于
      "git am -3" had a small regression where it is aborted in its error
      handling codepath when underlying merge-recursive failed in certain
      ways, as it assumed that the internal call to merge-recursive will
      never die, which is not the case (yet).
      
      * jc/am-3-fallback-regression-fix:
        am -3: do not let failed merge from completing the error codepath
      ced2321a
    • J
      Merge branch 'jc/usage-stdin' into maint · f5f76845
      Junio C Hamano 提交于
      The synopsis text and the usage string of subcommands that read
      list of things from the standard input are often shown as if they
      only take input from a file on a filesystem, which was misleading.
      
      * jc/usage-stdin:
        usage: do not insist that standard input must come from a file
      f5f76845
    • J
      Merge branch 'rt/placeholder-in-usage' into maint · 14f905ca
      Junio C Hamano 提交于
      A couple of commands still showed "[options]" in their usage string
      to note where options should come on their command line, but we
      spell that "[<options>]" in most places these days.
      
      * rt/placeholder-in-usage:
        am, credential-cache: add angle brackets to usage string
      14f905ca
    • J
      Merge branch 'dt/t7063-fix-flaky-test' into maint · ccb47391
      Junio C Hamano 提交于
      * dt/t7063-fix-flaky-test:
        t7063: fix flaky untracked-cache test
      ccb47391
    • J
      Merge branch 'mk/submodule-gitdir-path' into maint · 1bf986bc
      Junio C Hamano 提交于
      The submodule code has been taught to work better with separate
      work trees created via "git worktree add".
      
      * mk/submodule-gitdir-path:
        path: implement common_dir handling in git_pathdup_submodule()
        submodule refactor: use strbuf_git_path_submodule() in add_submodule_odb()
      1bf986bc
    • J
      Merge branch 'nd/gc-auto-background-fix' into maint · c1324e66
      Junio C Hamano 提交于
      When "git gc --auto" is backgrounded, its diagnosis message is
      lost.  Save it to a file in $GIT_DIR and show it next time the "gc
      --auto" is run.
      
      * nd/gc-auto-background-fix:
        gc: save log from daemonized gc --auto and print it next time
      c1324e66
    • J
      Merge branch 'ls/p4-translation-failure' into maint · c7bdbd6f
      Junio C Hamano 提交于
      Work around "git p4" failing when the P4 depot records the contents
      in UTF-16 without UTF-16 BOM.
      
      * ls/p4-translation-failure:
        git-p4: handle "Translation of file content failed"
        git-p4: add test case for "Translation of file content failed" error
      c7bdbd6f
    • J
      Merge branch 'gr/rebase-i-drop-warn' into maint · c04b3a2d
      Junio C Hamano 提交于
      Recent update to "rebase -i" that tries to sanity check the edited
      insn sheet before it uses it has become too picky on Windows where
      CRLF left by the editor is turned into a trailing CR on the line
      read via the "read" built-in command.
      
      * gr/rebase-i-drop-warn:
        rebase-i: work around Windows CRLF line endings
        t3404: "rebase -i" gets broken when insn sheet uses CR/LF line endings
      c04b3a2d
    • J
      Merge branch 'js/clone-dissociate' into maint · f836a32b
      Junio C Hamano 提交于
      "git clone --dissociate" runs a big "git repack" process at the
      end, and it helps to close file descriptors that are open on the
      packs and their idx files before doing so on filesystems that
      cannot remove a file that is still open.
      
      * js/clone-dissociate:
        clone --dissociate: avoid locking pack files
        sha1_file.c: add a function to release all packs
        sha1_file: consolidate code to close a pack's file descriptor
        t5700: demonstrate a Windows file locking issue with `git clone --dissociate`
      f836a32b
    • J
      Merge branch 'ld/p4-import-labels' into maint · 04bba3a1
      Junio C Hamano 提交于
      Correct "git p4 --detect-labels" so that it does not fail to create
      a tag that points at a commit that is also being imported.
      
      * ld/p4-import-labels:
        git-p4: fix P4 label import for unprocessed commits
        git-p4: do not terminate creating tag for unknown commit
        git-p4: failing test for ignoring invalid p4 labels
      04bba3a1
    • J
      Merge branch 'tk/stripspace' into maint · e23469f9
      Junio C Hamano 提交于
      The internal stripspace() function has been moved to where it
      logically belongs to, i.e. strbuf API, and the command line parser
      of "git stripspace" has been updated to use the parse_options API.
      
      * tk/stripspace:
        stripspace: use parse-options for command-line parsing
        strbuf: make stripspace() part of strbuf
      e23469f9
    • J
      Merge branch 'jk/repository-extension' into maint · f89baca1
      Junio C Hamano 提交于
      Prepare for Git on-disk repository representation to undergo
      backward incompatible changes by introducing a new repository
      format version "1", with an extension mechanism.
      
      * jk/repository-extension:
        introduce "preciousObjects" repository extension
        introduce "extensions" form of core.repositoryformatversion
      f89baca1
    • J
      Tenth batch for 2.7 · c29024e5
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c29024e5
    • J
      Merge branch 'rs/daemon-plug-child-leak' · c3c592ef
      Junio C Hamano 提交于
      "git daemon" uses "run_command()" without "finish_command()", so it
      needs to release resources itself, which it forgot to do.
      
      * rs/daemon-plug-child-leak:
        daemon: plug memory leak
        run-command: factor out child_process_clear()
      c3c592ef
    • J
      Merge branch 'mk/blame-first-parent' · 6784eb5a
      Junio C Hamano 提交于
      "git blame" learnt to take "--first-parent" and "--reverse" at the
      same time when it makes sense.
      
      * mk/blame-first-parent:
        blame: allow blame --reverse --first-parent when it makes sense
        blame: extract find_single_final
        blame: test to describe use of blame --reverse --first-parent
      6784eb5a
    • J
      Merge branch 'rs/wt-status-detached-branch-fix' · a59d1d80
      Junio C Hamano 提交于
      "git status --branch --short" accessed beyond the constant string
      "HEAD", which has been corrected.
      
      * rs/wt-status-detached-branch-fix:
        wt-status: use skip_prefix() to get rid of magic string length constants
        wt-status: don't skip a magical number of characters blindly
        wt-status: avoid building bogus branch name with detached HEAD
        wt-status: exit early using goto in wt_shortstatus_print_tracking()
        t7060: add test for status --branch on a detached HEAD
      a59d1d80
    • J
      Merge branch 'rs/show-branch-argv-array' · 654b986d
      Junio C Hamano 提交于
      Code simplification.
      
      * rs/show-branch-argv-array:
        show-branch: use argv_array for default arguments
      654b986d
    • J
      Merge branch 'js/git-gdb' · 4b571eb0
      Junio C Hamano 提交于
      Allow easier debugging of a single "git" invocation in our test
      scripts.
      
      * js/git-gdb:
        test: facilitate debugging Git executables in tests with gdb
      4b571eb0
    • J
      Merge branch 'jk/initialization-fix-to-add-submodule-odb' · acfeaf8c
      Junio C Hamano 提交于
      We peek objects from submodule's object store by linking it to the
      list of alternate object databases, but the code to do so forgot to
      correctly initialize the list.
      
      * jk/initialization-fix-to-add-submodule-odb:
        add_submodule_odb: initialize alt_odb list earlier
      acfeaf8c
    • J
      Merge branch 'da/difftool' · c253b82e
      Junio C Hamano 提交于
      The code to prepare the working tree side of temporary directory
      for the "dir-diff" feature forgot that symbolic links need not be
      copied (or symlinked) to the temporary area, as the code already
      special cases and overwrites them.  Besides, it was wrong to try
      computing the object name of the target of symbolic link, which may
      not even exist or may be a directory.
      
      * da/difftool:
        difftool: ignore symbolic links in use_wt_file
      c253b82e
    • J
      Merge branch 'jc/mailinfo-lib' · c5d9418e
      Junio C Hamano 提交于
      Hotfix for a topic already in 'master'.
      
      * jc/mailinfo-lib:
        mailinfo: fix passing wrong address to git_mailinfo_config
      c5d9418e
    • J
      Merge branch 'kn/for-each-branch' · 415095f0
      Junio C Hamano 提交于
      Using the timestamp based criteria in "git branch --sort" did not
      tiebreak branches that point at commits with the same timestamp (or
      the same commit), making the resulting output unstable.
      
      * kn/for-each-branch:
        ref-filter: fallback on alphabetical comparison
      415095f0
  2. 03 11月, 2015 2 次提交
  3. 02 11月, 2015 7 次提交
  4. 31 10月, 2015 5 次提交
    • M
      blame: allow blame --reverse --first-parent when it makes sense · 700fd28e
      Max Kirillov 提交于
      Allow combining --reverse and --first-parent if initial commit of
      specified range is at the first-parent chain starting from the final
      commit. Disable the prepare_revision_walk()'s builtin children
      collection, instead picking only the ones which are along the first
      parent chain.
      Signed-off-by: NMax Kirillov <max@max630.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      700fd28e
    • M
      blame: extract find_single_final · 1b0d4000
      Max Kirillov 提交于
      Signed-off-by: NMax Kirillov <max@max630.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      1b0d4000
    • M
      blame: test to describe use of blame --reverse --first-parent · ec352401
      Max Kirillov 提交于
      Reverse blame can be used to locate removal of lines which does not
      change adjacent lines. Such edits do not appear in non-reverse blame,
      because the adjacent lines last changed commit is older history, before
      the edit.
      
      For a big and active project which uses topic branches, or analogous
      feature, for example pull-requests, the history can contain many
      concurrent branches, and even after an edit merged into the target
      branch, there are still many (sometimes several tens or even hundreds)
      topic branch which do not contain it:
      
       a0--a1-----*a2-*a3-a4...-*a100
       |\         /   /         /
       | b0-B1..bN   /         /
       |\           /         /
       | c0..   ..cN         /
       \                    /
        z0..            ..zN
      
      Here, the '*'s mark the first parent in merge, and uppercase B1 - the
      commit where the line being blamed for was removed. Since commits cN-zN
      do not contain B1, they still have the line removed in B1, and
      reverse blame can report that the last commit for the line was zN
      (meaning that it was removed in a100). In fact it really does return
      some very late commit, and this makes it unusable for finding the B1
      commit.
      
      The search could be done by blame --reverse --first-parent. For range
      a0..a100 it would return a1, and then only one additional blame along
      the a0..bN will return the desired commit b0. But combining --reverse
      and --first-parent was forbidden in 95a4fb0e, because incorrectly
      specified range could produce unexpected and meaningless result.
      
      Add test which describes the expected behavior of
      `blame --reverse --first-parent` in the case described above.
      Signed-off-by: NMax Kirillov <max@max630.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      ec352401
    • J
      test: facilitate debugging Git executables in tests with gdb · 6a94088c
      Johannes Schindelin 提交于
      When prefixing a Git call in the test suite with 'debug ', it will
      now be run with GDB, allowing the developer to debug test failures
      more conveniently.
      Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6a94088c
    • K
      ref-filter: fallback on alphabetical comparison · 9e468334
      Karthik Nayak 提交于
      In ref-filter.c the comparison of refs while sorting is handled by
      cmp_ref_sorting() function. When sorting as per numerical values
      (e.g. --sort=objectsize) there is no fallback comparison when both
      refs hold the same value. This can cause unexpected results (i.e. the
      order of listing refs with equal values cannot be pre-determined) as
      pointed out by Johannes Sixt ($gmane/280117).
      
      Hence, fallback to alphabetical comparison based on the refname
      whenever the other criterion is equal.
      
      A test in t3203 was expecting that branch-two sorts before HEAD, which
      happened to be how qsort(3) on Linux sorted the array, but (1) that
      outcome was not even guaranteed, and (2) once we start breaking ties
      with the refname, "HEAD" should sort before "branch-two" so the
      original expectation was inconsistent with the criterion we now use.
      
      Update it to match the new world order, which we can now depend on
      being stable.
      Helped-by: NJunio C Hamano <gitster@pobox.com>
      Reported-by: NJohannes Sixt <j6t@kdbg.org>
      Signed-off-by: NKarthik Nayak <Karthik.188@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      9e468334