[plain text]

Git v1.7.11.6 Release Notes

Fixes since v1.7.11.5

 * "ciabot" script (in contrib/) has been updated with extensive

 * "git foo" errored out with "Not a directory" when the user had a
   non-directory on $PATH, and worse yet it masked an alias "foo" from

 * When the user exports a non-default IFS without HT, scripts that
   rely on being able to parse "ls-files -s | while read a b c..."
   started to fail.  Protect them from such a misconfiguration.

 * When the user gives an argument that can be taken as both a
   revision name and a pathname without disambiguating with "--", we
   used to give a help message "Use '--' to separate".  The message
   has been clarified to show where that '--' goes on the command

 * Documentation for the configuration file format had a confusing

 * Older parts of the documentation described as if having a regular
   file in .git/refs/ hierarchy were the only way to have branches and
   tags, which is not true for quite some time.

 * It was generally understood that "--long-option"s to many of our
   subcommands can be abbreviated to the unique prefix, but it was not
   easy to find it described for new readers of the documentation set.

 * The "--topo-order", "--date-order" (and the lack of either means
   the default order) options to "rev-list" and "log" family of
   commands were poorly described in the documentation.

 * "git commit --amend" let the user edit the log message and then
   died when the human-readable committer name was given
   insufficiently by getpwent(3).

 * The exit status code from "git config" was way overspecified while
   being incorrect.  The implementation has been updated to give the
   documented status for a case that was documented, and introduce a
   new code for "all other errors".

 * The output from "git diff -B" for a file that ends with an
   incomplete line did not put "\ No newline..." on a line of its own.

 * "git diff" had a confusion between taking data from a path in the
   working tree and taking data from an object that happens to have
   name 0{40} recorded in a tree.

 * The "--rebase" option to "git pull" can be abbreviated to "-r",
   but we didn't document it.

 * When "git push" triggered the automatic gc on the receiving end, a
   message from "git prune" that said it was removing cruft leaked to
   the standard output, breaking the communication protocol.

 * The reflog entries left by "git rebase" and "git rebase -i" were
   inconsistent (the interactive one gave an abbreviated object name).

 * "git send-email" did not unquote encoded words that appear on the
   header correctly, and lost "_" from strings.

 * "git stash apply/pop" did not trigger "rerere" upon conflicts
   unlike other mergy operations.

 * "git submodule <cmd> path" did not error out when the path to the
   submodule was misspelt.

 * "git submodule update -f" did not update paths in the working tree
   that has local changes.
   (merge 01d4721 sz/submodule-force-update later to maint).

 * "gitweb" when used with PATH_INFO failed to notice directories with
   SP (and other characters that need URL-style quoting) in them.

 * Fallback 'getpass' implementation made unportable use of stdio API.

 * A utility shell function test_seq has been added as a replacement
   for the 'seq' utility found on some platforms.