Git v1.7.12.2

The latest maintenance release Git v1.7.12.2 is now available at
the usual places.

The release tarballs are found at:

and their SHA-1 checksums are:

277b759139ddb62c6935da37de8a483e2c234a97  git-
5722156394c7478b2339a1d87aa894bc4d2f5d6b  git-htmldocs-
8cf6fd255e83226b4abcdcd68dcf315c1995fd92  git-manpages-

Also the following public repositories all have a copy of the v1.7.12.2
tag and the maint branch that the tag points at:

url = git://
url =
url = git://
url = git://
url =

Git Release Notes

Fixes since v1.7.12.1

  • When “git am” is fed an input that has multiple “Content-type: …”
    header, it did not grok charset= attribute correctly.

  • Even during a conflicted merge, “git blame $path” always meant to
    blame uncommitted changes to the “working tree” version; make it
    more useful by showing cleanly merged parts as coming from the other
    branch that is being merged.

  • “git blame MAKEFILE” run in a history that has “Makefile” but not
    “MAKEFILE” should say “No such file MAKEFILE in HEAD”, but got
    confused on a case insensitive filesystem and failed to do so.

  • “git fetch –all”, when passed “–no-tags”, did not honor the
    “–no-tags” option while fetching from individual remotes (the same
    issue existed with “–tags”, but combination “–all –tags” makes
    much less sense than “–all –no-tags”).

  • “git log/diff/format-patch –stat” showed the “N line(s) added”
    comment in user’s locale and caused careless submitters to send
    patches with such a line in them to projects whose project language
    is not their language, mildly irritating others. Localization to
    the line has been disabled for now.

  • “git log –all-match –grep=A –grep=B” ought to show commits that
    mention both A and B, but when these three options are used with
    –author or –committer, it showed commits that mention either A or
    B (or both) instead.

  • The subcommand to remove the definition of a remote in “git remote”
    was named “rm” even though all other subcommands were spelled out.
    Introduce “git remote remove” to remove confusion, and keep “rm” as
    a backward compatible synonym.

Also contains a handful of documentation updates.

Changes since v1.7.12.1 are as follows:

Dan Johnson (1):
      fetch --all: pass --tags/--no-tags through to each remote

David Gould (1):
      run-command.c: fix broken list iteration in clear_child_for_cleanup

Felipe Contreras (1):
      completion: fix shell expansion of items

Jeff King (4):
      argv-array: add pop function
      argv-array: fix bogus cast when freeing array
      fetch: use argv_array instead of hand-building arrays
      Revert "completion: fix shell expansion of items"

Jens Lehmann (1):
      submodule: use argv_array instead of hand-building arrays

Jeremy White (1):
      Documentation: describe subject more precisely

Jonathan "Duke" Leto (1):
      Improve the description of GIT_PS1_SHOWUPSTREAM

Junio C Hamano (11):
      mailinfo: strip "RE: " prefix
      blame $path: avoid getting fooled by case insensitive filesystems
      blame: allow "blame file" in the middle of a conflicted merge
      grep: teach --debug option to dump the parse tree
      log --grep/--author: honor --all-match honored for multiple --grep patterns
      log: document use of multiple commit limiting options
      grep.c: mark private file-scope symbols as static
      mailinfo: do not concatenate charset= attribute values from mime headers
      grep.c: make two symbols really file-scope static this time
      Start preparation for

Michael J Gruber (6):
      grep: show --debug output only once
      t7810-grep: bring log --grep tests in common form
      t7810-grep: test multiple --grep with and without --all-match
      t7810-grep: test multiple --author with --all-match
      t7810-grep: test interaction of multiple --grep and --author options
      t7810-grep: test --all-match with multiple --grep and --author options

Nguyễn Thái Ngọc Duy (3):
      remote: prefer subcommand name 'remove' to 'rm'
      doc: move rev-list option -<n> from git-log.txt to rev-list-options.txt
      Revert diffstat back to English

Ralf Thielow (1):
      l10n: de.po: correct translation of a 'rebase' message

Stefan Naewe (1):
      ls-remote: document the '--get-url' option

Stephen Boyd (1):
      Documentation: Document signature showing options

Thynson (2):
      l10n: Unify the translation for '(un)expected'
      l10n: Improve many translation for zh_CN

Junio C Hamano wrote on 30 Sep 2012