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

The release tarballs are found at:

and their SHA-1 checksums are:

172c6ad5a55276213c5e40b83a4c270f6f931b3e  git-
c75f9dd4e5157b0c0cb53d67a599b1b038b9c708  git-htmldocs-
4ae4f9f0f0dc42ad5cb2de309049c953841bc413  git-manpages-

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

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

Git v1.7.10.3 Release Notes

Fixes since v1.7.10.2

  • The message file for German translation has been updated a bit.

  • Running “git checkout” on an unborn branch used to corrupt HEAD.

  • When checking out another commit from an already detached state, we
    used to report all commits that are not reachable from any of the
    refs as lossage, but some of them might be reachable from the new
    HEAD, and there is no need to warn about them.

  • Some time ago, “git clone” lost the progress output for its
    “checkout” phase; when run without any “–quiet” option, it should
    give progress to the lengthy operation.

  • The directory path used in “git diff –no-index”, when it recurses
    down, was broken with a recent update after v1.7.10.1 release.

  • “log -z –pretty=tformat:…” did not terminate each record with
    NUL. The fix is not entirely correct when the output also asks for
    –patch and/or –stat, though.

  • The DWIM behaviour for “log –pretty=format:%gd -g” was somewhat
    broken and gave undue precedence to configured, causing
    “git stash list” to show “stash@{time stamp string}”.

  • “git status –porcelain” ignored “–branch” option by mistake. The
    output for “git status –branch -z” was also incorrect and did not
    terminate the record for the current branch name with NUL as asked.

  • When a submodule repository uses alternate object store mechanism,
    some commands that were started from the superproject did not
    notice it and failed with “No such object” errors. The subcommands
    of “git submodule” command that recursed into the submodule in a
    separate process were OK; only the ones that cheated and peeked
    directly into the submodule’s repository from the primary process
    were affected.

Also contains minor fixes and documentation updates.

Changes since v1.7.10.2 are as follows:

Bobby Powers (2):
      diff --no-index: reset temporary buffer lengths on directory iteration
      diff --no-index: don't leak buffers in queue_diff

Carlos Martín Nieto (1):
      pack-protocol: fix first-want separator in the examples

Erik Faye-Lund (2):
      clone: fix progress-regression
      checkout: do not corrupt HEAD on empty repo

Heiko Voigt (2):
      link to gitmodules page at the beginning of git-submodule documentation
      teach add_submodule_odb() to look for alternates

Jan Krüger (1):
      log-tree: use custom line terminator in line termination mode

Jeff King (10):
      docs: stop using asciidoc no-inline-literal
      t1411: add more selector index/date tests
      log: respect date_mode_explicit with --format:%gd
      reflog-walk: clean up "flag" field of commit_reflog struct
      reflog-walk: always make HEAD@{0} show indexed selectors
      commit: refactor option parsing
      status: refactor null_termination option
      status: fix null termination with "-b"
      status: respect "-b" for porcelain format
      osxkeychain: pull make config from top-level directory

Jens Lehmann (1):
      Consistently use "superproject" instead of "supermodule"

Jiang Xin (4):
      l10n: Update git.pot (1 new messages)
      l10n: zh_CN.po: translate 1 new message
      l10n: Update git.pot (3 new, 2 removed messages)
      l10n: zh_CN.po: translate 3 new messages

Johannes Sixt (3):
      t2020-checkout-detach: check for the number of orphaned commits
      checkout (detached): truncate list of orphaned commits at the new HEAD
      t3404: begin "exchange commits with -p" test with correct preconditions

Jonathan Nieder (1):
      config doc: remove confusion about relative GIT_DIR from FILES section

Junio C Hamano (5):
      log-tree: the previous one is still not quite right
      reflog-walk: tell explicit --date=default from not having --date at all
      Start preparing for
      Update draft release notes to

Linus Torvalds (1):
      fmt-merge-message: add empty line between tag and signature verification

Ralf Thielow (7):
      l10n: add new members to German translation team
      l10n: de.po: translate "track" as "beobachten"
      l10n: de.po: translate "remote" as "extern"
      l10n: de.po: collection of improvements
      l10n: de.po: unify translation of "ahead" and "behind"
      l10n: de.po: translate one new message
      l10n: de.po: translate 3 new messages

Thomas Rast (4):
      l10n: de.po: translate "bare" as "bloß"
      l10n: de.po: hopefully uncontroversial fixes
      l10n: de.po: translate "bad" as "ungültig" ("invalid")
      l10n: de.po: collection of suggestions

Junio C Hamano wrote on 25 May 2012