Commits on Jul 28, 2016
  1. @gitster

    Sync with maint

    * maint:
      Some fixes for 2.9.3
    gitster committed Jul 28, 2016
  2. @gitster

    Eighth batch of topics for 2.10

    Signed-off-by: Junio C Hamano <>
    gitster committed Jul 28, 2016
  3. @gitster

    t9100: portability fix

    Do not say "export VAR=VAL"; "VAR=VAL && export VAR" is always more
    Signed-off-by: Junio C Hamano <>
    gitster committed Jul 28, 2016
  4. @gitster

    Merge branch 'master' of git://

    * 'master' of git://
      git-svn: allow --version to work anywhere
      git-svn: document svn.authorsProg in config
    gitster committed Jul 28, 2016
  5. @gitster

    Some fixes for 2.9.3

    Signed-off-by: Junio C Hamano <>
    gitster committed Jul 28, 2016
  6. @gitster

    Merge branch 'ak/lazy-prereq-mktemp' into maint

    A test that unconditionally used "mktemp" learned that the command
    is not necessarily available everywhere.
    * ak/lazy-prereq-mktemp:
      t7610: test for mktemp before test execution
    gitster committed Jul 28, 2016
  7. @gitster

    Merge branch 'nd/icase' into maint

    "git grep -i" has been taught to fold case in non-ascii locales
    * nd/icase:
      grep.c: reuse "icase" variable
      diffcore-pickaxe: support case insensitive match on non-ascii
      diffcore-pickaxe: Add regcomp_or_die()
      grep/pcre: support utf-8
      gettext: add is_utf8_locale()
      grep/pcre: prepare locale-dependent tables for icase matching
      grep: rewrite an if/else condition to avoid duplicate expression
      grep/icase: avoid kwsset when -F is specified
      grep/icase: avoid kwsset on literal non-ascii strings
      test-regex: expose full regcomp() to the command line
      test-regex: isolate the bug test code
      grep: break down an "if" stmt in preparation for next changes
    gitster committed Jul 28, 2016
  8. @gitster

    Merge branch 'sb/submodule-parallel-fetch' into maint

    Fix recently introduced codepaths that are involved in parallel
    submodule operations, which gave up on reading too early, and
    could have wasted CPU while attempting to write under a corner
    case condition.
    * sb/submodule-parallel-fetch:
      hoist out handle_nonblock function for xread and xwrite
      xwrite: poll on non-blocking FDs
      xread: retry after poll on EAGAIN/EWOULDBLOCK
    gitster committed Jul 28, 2016
  9. @gitster

    Merge branch 'dk/blame-move-no-reason-for-1-line-context' into maint

    "git blame -M" missed a single line that was moved within the file.
    * dk/blame-move-no-reason-for-1-line-context:
      blame: require 0 context lines while finding moved lines with -M
    gitster committed Jul 28, 2016
  10. @gitster

    Merge branch 'jk/test-match-signal' into maint

    The test framework learned a new helper test_match_signal to
    check an exit code from getting killed by an expected signal.
    * jk/test-match-signal:
      t/lib-git-daemon: use test_match_signal
      test_must_fail: use test_match_signal
      t0005: use test_match_signal as appropriate
      tests: factor portable signal check out of t0005
    gitster committed Jul 28, 2016
  11. @gitster

    Merge branch 'js/am-call-theirs-theirs-in-fallback-3way' into maint

    One part of "git am" had an oddball helper function that called
    stuff from outside "his" as opposed to calling what we have "ours",
    which was not gender-neutral and also inconsistent with the rest of
    the system where outside stuff is usuall called "theirs" in
    contrast to "ours".
    * js/am-call-theirs-theirs-in-fallback-3way:
      am: counteract gender bias
    gitster committed Jul 28, 2016
  12. @gitster

    Merge branch 'js/t3404-grammo-fix' into maint

    * js/t3404-grammo-fix:
      t3404: fix a grammo (commands are ran -> commands are run)
    gitster committed Jul 28, 2016
  13. @gitster

    Merge branch 'nd/doc-new-command' into maint

    Typofix in a doc.
    * nd/doc-new-command:
      new-command.txt: correct the command description file
    gitster committed Jul 28, 2016
  14. @gitster

    Merge branch 'ew/gc-auto-pack-limit-fix' into maint

    "gc.autoPackLimit" when set to 1 should not trigger a repacking
    when there is only one pack, but the code counted poorly and did
    * ew/gc-auto-pack-limit-fix:
      gc: fix off-by-one error with gc.autoPackLimit
    gitster committed Jul 28, 2016
  15. @gitster

    Merge branch 'js/color-on-windows-comment' into maint

    For a long time, we carried an in-code comment that said our
    colored output would work only when we use fprintf/fputs on
    Windows, which no longer is the case for the past few years.
    * js/color-on-windows-comment:
      color.h: remove obsolete comment about limitations on Windows
    gitster committed Jul 28, 2016
  16. @gitster

    Merge branch 'mm/doc-tt' into maint

    More mark-up updates to typeset strings that are expected to
    literally typed by the end user in fixed-width font.
    * mm/doc-tt:
      doc: typeset HEAD and variants as literal
      CodingGuidelines: formatting HEAD in documentation
      doc: typeset long options with argument as literal
      doc: typeset '--' as literal
      doc: typeset long command-line options as literal
      doc: typeset short command-line options as literal
      Documentation/git-mv.txt: fix whitespace indentation
    gitster committed Jul 28, 2016
  17. @gitster

    Merge branch 'js/sign-empty-commit-fix' into maint

    "git commit --amend --allow-empty-message -S" for a commit without
    any message body could have misidentified where the header of the
    commit object ends.
    * js/sign-empty-commit-fix:
      commit -S: avoid invalid pointer with empty message
    gitster committed Jul 28, 2016
  18. @gitster

    Merge branch 'ps/rebase-i-auto-unstash-upon-abort' into maint

    "git rebase -i --autostash" did not restore the auto-stashed change
    when the operation was aborted.
    * ps/rebase-i-auto-unstash-upon-abort:
      rebase -i: restore autostash on abort
    gitster committed Jul 28, 2016
  19. @gitster

    Merge branch 'nd/ita-cleanup' into maint

    Git does not know what the contents in the index should be for a
    path added with "git add -N" yet, so "git grep --cached" should not
    show hits (or show lack of hits, with -L) in such a path, but that
    logic does not apply to "git grep", i.e. searching in the working
    tree files.  But we did so by mistake, which has been corrected.
    * nd/ita-cleanup:
      grep: fix grepping for "intent to add" files fix a whitespace inconsistency fix duplicated test name
    gitster committed Jul 28, 2016
  20. @gitster

    Merge branch 'js/find-commit-subject-ignore-leading-blanks' into maint

    A helper function that takes the contents of a commit object and
    finds its subject line did not ignore leading blank lines, as is
    commonly done by other codepaths.  Make it ignore leading blank
    lines to match.
    * js/find-commit-subject-ignore-leading-blanks:
      reset --hard: skip blank lines when reporting the commit subject
      sequencer: use skip_blank_lines() to find the commit subject
      commit -C: skip blank lines at the beginning of the message
      commit.c: make find_commit_subject() more robust
      pretty: make the skip_blank_lines() function public
    gitster committed Jul 28, 2016
  21. @gitster

    Merge branch 'dg/subtree-rebase-test' into maint

    Add a test to specify the desired behaviour that currently is not
    available in "git rebase -Xsubtree=...".
    * dg/subtree-rebase-test:
      contrib/subtree: Add a test for subtree rebase that loses commits
    gitster committed Jul 28, 2016
  22. @gitster

    Merge branch 'sb/submodule-deinit-all'

    A comment update for a topic that was merged to Git v2.8.
    * sb/submodule-deinit-all:
      submodule deinit: remove outdated comment
    gitster committed Jul 28, 2016
  23. @gitster

    Merge branch 'ew/find-perl-on-freebsd-in-local'

    Recent FreeBSD stopped making perl available at /usr/bin/perl;
    switch the default the built-in path to /usr/local/bin/perl on not
    too ancient FreeBSD releases.
    * ew/find-perl-on-freebsd-in-local:
      config.mak.uname: correct perl path on FreeBSD
    gitster committed Jul 28, 2016
  24. @gitster

    Merge branch 'ew/daemon-socket-keepalive'

    Recent update to "git daemon" tries to enable the socket-level
    KEEPALIVE, but when it is spawned via inetd, the standard input
    file descriptor may not necessarily be connected to a socket.
    Suppress an ENOTSOCK error from setsockopt().
    * ew/daemon-socket-keepalive:
      Windows: add missing definition of ENOTSOCK
      daemon: ignore ENOTSOCK from setsockopt
    gitster committed Jul 28, 2016
  25. @gitster

    Merge branch 'nd/pack-ofs-4gb-limit'

    "git pack-objects" and "git index-pack" mostly operate with off_t
    when talking about the offset of objects in a packfile, but there
    were a handful of places that used "unsigned long" to hold that
    value, leading to an unintended truncation.
    * nd/pack-ofs-4gb-limit:
      fsck: use streaming interface for large blobs in pack
      pack-objects: do not truncate result in-pack object size on 32-bit systems
      index-pack: correct "offset" type in unpack_entry_data()
      index-pack: report correct bad object offsets even if they are large
      index-pack: correct "len" type in unpack_data()
      sha1_file.c: use type off_t* for object_info->disk_sizep
      pack-objects: pass length to check_pack_crc() without truncation
    gitster committed Jul 28, 2016
  26. @gitster

    Merge branch 'nd/worktree-lock'

    "git worktree prune" protected worktrees that are marked as
    "locked" by creating a file in a known location.  "git worktree"
    command learned a dedicated command pair to create and remove such
    a file, so that the users do not have to do this with editor.
    * nd/worktree-lock:
      worktree.c: find_worktree() search by path suffix
      worktree: add "unlock" command
      worktree: add "lock" command
      worktree.c: add is_worktree_locked()
      worktree.c: add is_main_worktree()
      worktree.c: add find_worktree()
    gitster committed Jul 28, 2016
  27. @gitster

    Merge branch 'rs/notes-merge-no-toctou'

    "git notes merge" had a code to see if a path exists (and fails if
    it does) and then open the path for writing (when it doesn't).
    Replace it with open with O_EXCL.
    * rs/notes-merge-no-toctou:
      notes-merge: use O_EXCL to avoid overwriting existing files
    gitster committed Jul 28, 2016
  28. @gitster

    Merge branch 'js/rebase-i-tests'

    A few tests that specifically target "git rebase -i" have been
    * js/rebase-i-tests:
      rebase -i: we allow extra spaces after fixup!/squash!
      rebase -i: demonstrate a bug with --autosquash
      t3404: add a test for the --gpg-sign option
    gitster committed Jul 28, 2016
Commits on Jul 26, 2016
  1. @stefanbeller @gitster

    submodule deinit: remove outdated comment

    Signed-off-by: Stefan Beller <>
    Signed-off-by: Junio C Hamano <>
    stefanbeller committed with gitster Jul 25, 2016
  2. @pclouds @gitster

    config.mak.uname: correct perl path on FreeBSD

    It looks the the symlink /usr/bin/perl (to /usr/local/bin/perl) has
    been removed at least on FreeBSD 10.3. See [1] for more information.
    Signed-off-by: Nguyễn Thái Ngọc Duy <>
    Helped-by: Eric Wong <>
    Signed-off-by: Junio C Hamano <>
    pclouds committed with gitster Jul 25, 2016
Commits on Jul 25, 2016
  1. @gitster

    Seventh batch of topics for 2.10

    Signed-off-by: Junio C Hamano <>
    gitster committed Jul 25, 2016
  2. @gitster

    Merge branch 'rs/use-strbuf-addbuf'

    Code cleanup.
    * rs/use-strbuf-addbuf:
      strbuf: avoid calling strbuf_grow() twice in strbuf_addbuf()
      use strbuf_addbuf() for appending a strbuf to another
    gitster committed Jul 25, 2016
  3. @gitster

    Merge branch 'ew/autoconf-pthread'

    Existing autoconf generated test for the need to link with pthread
    library did not check all the functions from pthread libraries;
    recent FreeBSD has some functions in libc but not others, and we
    mistakenly thought linking with libc is enough when it is not.
    * ew/autoconf-pthread: stronger test for pthread linkage
    gitster committed Jul 25, 2016
  4. @gitster

    Merge branch 'mh/blame-worktree'

    "git blame file" allowed the lineage of lines in the uncommitted,
    unadded contents of "file" to be inspected, but it refused when
    "file" did not appear in the current commit.  When "file" was
    created by renaming an existing file (but the change has not been
    committed), this restriction was unnecessarily tight.
    * mh/blame-worktree:
      t/ Use here documents
      blame: allow to blame paths freshly added to the index
    gitster committed Jul 25, 2016
  5. @gitster

    Merge branch 'js/fsck-name-object'

    When "git fsck" reports a broken link (e.g. a tree object contains
    a blob that does not exist), both containing object and the object
    that is referred to were reported with their 40-hex object names.
    The command learned the "--name-objects" option to show the path to
    the containing object from existing refs (e.g. "HEAD~24^2:file.txt").
    * js/fsck-name-object:
      fsck: optionally show more helpful info for broken links
      fsck: give the error function a chance to see the fsck_options
      fsck_walk(): optionally name objects on the go
      fsck: refactor how to describe objects
    gitster committed Jul 25, 2016