Git v1.8.1.6

A maintenance release Git v1.8.1.6 is now available at the
usual places.

The release tarballs are found at:

and their SHA-1 checksums are:

135a4fd6c025ab16560694da110a1476a9b83de2  git-
a9b004bf1b1922f09cb45a7a388bd452399db30c  git-htmldocs-
41822cdd469fde30d419819e43ed57f3e73a404b  git-manpages-

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

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

Git Release Notes

Fixes since v1.8.1.5

  • An earlier change to the attribute system introduced at v1.8.1.2 by
    mistake stopped a pattern “dir” (without trailing slash) from
    matching a directory “dir” (it only wanted to allow pattern “dir/”
    to also match).

  • The code to keep track of what directory names are known to Git on
    platforms with case insensitive filesystems can get confused upon a
    hash collision between these pathnames and looped forever.

  • When the “–prefix” option is used to “checkout-index”, the code
    did not pick the correct output filter based on the attribute

  • Annotated tags outside refs/tags/ hierarchy were not advertised
    correctly to the ls-remote and fetch with recent version of Git.

  • The logic used by “git diff -M –stat” to shorten the names of
    files before and after a rename did not work correctly when the
    common prefix and suffix between the two filenames overlapped.

  • “git update-index -h” did not do the usual “-h(elp)” thing.

  • perl/ slurped everything in core only to write it
    out to a file descriptor, which was not a very smart thing to do.

  • The SSL peer verification done by “git imap-send” did not ask for
    Server Name Indication (RFC 4366), failing to connect SSL/TLS
    sites that serve multiple hostnames on a single IP.

  • “git bundle verify” did not say “records a complete history” for a
    bundle that does not have any prerequisites.

Also contains various documentation fixes.

Changes since v1.8.1.5 are as follows:

Antoine Pelisse (4):
      update-index: allow "-h" to also display options
      diff: Fix rename pretty-print when suffix and prefix overlap
      tests: make sure rename pretty print works
      perf: update documentation of GIT_PERF_REPEAT_COUNT

Christian Helmuth (1):
      git-commit doc: describe use of multiple `-m` options

Dan Bornstein (1):
      Correct the docs about GIT_SSH.

David Michael (1):
      git-compat-util.h: Provide missing netdb.h definitions

Fredrik Gustafsson (1):
      gitweb/README: remove reference to

Greg Price (1):
      describe: Document --match pattern format

Jeff King (6):
      avoid segfaults on parse_object failure
      use parse_object_or_die instead of die("bad object")
      pack-refs: write peeled entry for non-tags
      dir.c::match_pathname(): adjust patternlen when shifting pattern
      dir.c::match_pathname(): pay attention to the length of string parameters
      t: check that a pattern without trailing slash matches a directory

Johannes Sixt (1):
      t2003: work around path mangling issue on Windows

John Keeping (3):
      t2003: modernize style
      entry: fix filter lookup
      merge-tree: fix typo in merge-tree.c::unresolved

Joshua Clayton (1): fix cat_blob crashes on large files

Junio C Hamano (8):
      imap-send: support Server Name Indication (RFC4366)
      diff-options: unconfuse description of --color
      Documentation: merging a tag is a special case
      attr.c::path_matches(): the basename is part of the pathname
      attr.c::path_matches(): special case paths that end with a slash
      dir.c::match_basename(): pay attention to the length of string parameters
      Start preparing for

Kacper Kornet (3):
      rev-parse: clarify documentation of $name@{upstream} syntax
      t1507: Test that branchname@{upstream} is interpreted as branch
      Fix revision walk for commits with the same dates

Karsten Blees (1):
      name-hash.c: fix endless loop with core.ignorecase=true

Kevin Bracey (2):
      Translate git_more_info_string consistently
      git.c: make usage match manual page

Lukas Fleischer (2):
      bundle: Fix "verify" output if history is complete
      bundle: Add colons to list headings in "verify"

Matthias Krüger (1):
      git help config: s/insn/instruction/

Michael Haggerty (2):
      Provide a mechanism to turn off symlink resolution in ceiling paths
      pack-refs: add fully-peeled trait

Mihai Capotă (1):
      git-pull doc: fix grammo ("conflicts" is plural)

Nguyễn Thái Ngọc Duy (4):
      index-format.txt: mention of v4 is missing in some places
      read-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr()
      update-index: list supported idx versions and their features
      index-pack: fix buffer overflow caused by translations

René Scharfe (2):
      Makefile: keep LIB_H entries together and sorted
      sha1_name: pass object name length to diagnose_invalid_sha1_path()

Tadeusz Andrzej Kadłubowski (2):
      git-filter-branch.txt: clarify ident variables usage
      Documentation: filter-branch env-filter example

Thomas Rast (2):
      diff: prevent pprint_rename from underrunning input
      git-tag(1): we tag HEAD by default

Torsten Bögershausen (1):
      remote-helpers/ do not use "grep '\s'"

W. Trevor King (1):
      Documentation/githooks: Explain pre-rebase parameters

Junio C Hamano wrote on 07 Apr 2013