Tuesday, May 1, 2012


The first maintenance release for 1.7.10.x series is out.

Git v1.7.10.1 Release Notes

Additions since v1.7.10

Localization message files for Danish and German have been added.

Fixes since v1.7.10

 * "git add -p" is not designed to deal with unmerged paths but did
   not exclude them and tried to apply funny patches only to fail.

 * "git blame" started missing quite a few changes from the origin
   since we stopped using the diff minimalization by default in v1.7.2

 * 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.

 * "git clean -d -f" (not "-d -f -f") is supposed to protect nested
   working trees of independent git repositories that exist in the
   current project working tree from getting removed, but the
   protection applied only to such working trees that are at the
   top-level of the current project by mistake.

 * "git commit --author=$name" did not tell the name that was being
   recorded in the resulting commit to hooks, even though it does do
   so when the end user overrode the authorship via the
   "GIT_AUTHOR_NAME" environment variable.

 * When "git commit --template F" errors out because the user did not
   touch the message, it claimed that it aborts due to "empty
   message", which was utterly wrong.

 * The regexp configured with diff.wordregex was incorrectly reused
   across files.

 * An age-old corner case bug in combine diff (only triggered with -U0
   and the hunk at the beginning of the file needs to be shown) has
   been fixed.

 * Rename detection logic used to match two empty files as renames
   during merge-recursive, leading to unnatural mismerges.

 * The parser in "fast-import" did not diagnose ":9" style references
   that is not followed by required SP/LF as an error.

 * When "git fetch" encounters repositories with too many references,
   the command line of "fetch-pack" that is run by a helper
   e.g. remote-curl, may fail to hold all of them. Now such an
   internal invocation can feed the references through the standard
   input of "fetch-pack".

 * "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.

 * "log -p --graph" used with "--stat" had a few formatting error.

 * Running "notes merge --commit" failed to perform correctly when run
   from any directory inside $GIT_DIR/.  When "notes merge" stops with
   conflicts, $GIT_DIR/NOTES_MERGE_WORKTREE is the place a user edits
   to resolve it.

 * The 'push to upstream' implementation was broken in some corner
   cases. "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

 * Giving "--continue" to a conflicted "rebase -i" session skipped a
   commit that only results in changes to submodules.

Also contains minor fixes and documentation updates.