Git v1.8.1.3

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

The release tarballs are found at:

and their SHA-1 checksums are:

29ed9047263f9835726200226451339276641779  git-
6b1e57bde2f2b0a86532390c15bfa7b181c50db2  git-htmldocs-
12aaa8a0428e64d194665379ab0335d786728930  git-manpages-

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

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

Git Release Notes

Fixes since v1.8.1.2

  • The attribute mechanism didn’t allow limiting attributes to be
    applied to only a single directory itself with “path/” like the
    exclude mechanism does. The fix for this in had
    performance degradations.

  • Command line completion code was inadvertently made incompatible with
    older versions of bash by using a newer array notation.

  • Scripts to test bash completion was inherently flaky as it was
    affected by whatever random things the user may have on $PATH.

  • A fix was added to the build procedure to work around buggy
    versions of ccache broke the auto-generation of dependencies, which
    unfortunately is still relevant because some people use ancient

  • We used to stuff “user@” and then append what we read from
    /etc/mailname to come up with a default e-mail ident, but a bug
    lost the “user@” part.

  • “git am” did not parse datestamp correctly from Hg generated patch,
    when it is run in a locale outside C (or en).

  • Attempt to “branch –edit-description” an existing branch, while
    being on a detached HEAD, errored out.

  • “git cherry-pick” did not replay a root commit to an unborn branch.

  • We forgot to close the file descriptor reading from “gpg” output,
    killing “git log –show-signature” on a long history.

  • “git rebase –preserve-merges” lost empty merges in recent versions
    of Git.

  • Rebasing the history of superproject with change in the submodule
    has been broken since v1.7.12.

  • A failure to push due to non-ff while on an unborn branch
    dereferenced a NULL pointer when showing an error message.

Also contains various documentation fixes.

Changes since v1.8.1.2 are as follows:

Brandon Casey (3):
      git-completion.bash: replace zsh notation that breaks bash 3.X support Python 2.5 support Python 2.4

Dmitry V. Levin (1):
      am: invoke perl's strftime in C locale

Fraser Tweedale (1):
      push: fix segfault when HEAD points nowhere

John Keeping (1):
      git-cvsimport.txt: cvsps-2 is deprecated

Jonathan Nieder (2):
      ident: do not drop username when reading from /etc/mailname
      Makefile: explicitly set target name for autogenerated dependencies

Junio C Hamano (17):
      Which merge_file() function do you mean?
      merge-tree: lose unused "flags" from merge_list
      merge-tree: lose unused "resolve_directories"
      merge-tree: add comments to clarify what these functions are doing
      merge-tree: fix d/f conflicts
      Documentation: update "howto maintain git"
      howto/maintain: mark titles for asciidoc
      help: include <common-cmds.h> only in one file
      t9902: protect test from stray build artifacts
      howto/maintain: document "### match next" convention in jch/pu branch
      README: update stale and/or incorrect information
      INSTALL: git-p4 does not support Python 3
      git-am: record full index line in the patch used while rebasing
      apply: simplify build_fake_ancestor()
      apply: diagnose incomplete submodule object name better
      Start preparing for

Martin von Zweigbergk (2):
      tests: move test_cmp_rev to test-lib-functions
      learn to pick/revert into unborn branch

Nguyễn Thái Ngọc Duy (4):
      attr: fix off-by-one directory component length calculation unfilter GIT_PERF_*
      attr: avoid calling find_basename() twice per path
      branch: no detached HEAD check when editing another branch's description

Phil Hord (1):
      rebase --preserve-merges: keep all merge commits including empty ones

Ramsay Allan Jones (1):
      Makefile: Replace merge-file.h with merge-blobs.h in LIB_H

Stephen Boyd (1):
      gpg: close stderr once finished with it in verify_signed_buffer()

Torsten Bögershausen (3):
      t0050: known breakage vanished in merge (case change)
      t0050: honor CASE_INSENSITIVE_FS in add (with different case)
      t0050: Use TAB for indentation

Junio C Hamano wrote on 07 Feb 2013