Git v1.8.1.2

The latest maintenance release Git v1.8.1.2 is now available at the
usual places. This contains a handful of fixes that will also
appear in the next feature release.

The release tarballs are found at:

and their SHA-1 checksums are:

29a2dee568b1f86e9d3d8f9dcc376f24439b6a0c  git-
3df491003d026b8f4b2de378e57b930a98f0a595  git-htmldocs-
142222a27dfec52256831f2d0e2ee655f75c1077  git-manpages-

Also the following public repositories all have a copy of the v1.8.1.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.8.1.1

  • An element on GIT_CEILING_DIRECTORIES list that does not name the
    real path to a directory (i.e. a symbolic link) could have caused
    the GIT_DIR discovery logic to escape the ceiling.

  • Command line completion for “tcsh” emitted an unwanted space
    after completing a single directory name.

  • Command line completion leaked an unnecessary error message while
    looking for possible matches with paths in <tree-ish>.

  • “git archive” did not record uncompressed size in the header when
    streaming a zip archive, which confused some implementations of unzip.

  • When users spelled “cc:” in lowercase in the fake “header” in the
    trailer part, “git send-email” failed to pick up the addresses from
    there. As e-mail headers field names are case insensitive, this
    script should follow suit and treat “cc:” and “Cc:” the same way.

Also contains various documentation fixes.

Changes since v1.8.1.1 are as follows:

Antoine Pelisse (3):
      dir.c: Make git-status --ignored more consistent
      git-status: Test --ignored behavior
      status: always report ignored tracked directories

Dylan Smith (1):
      git-completion.bash: silence "not a valid object" errors

Eric S. Raymond (1):
      Remove the suggestion to use parsecvs, which is currently broken.

John Keeping (1):
      git-for-each-ref.txt: 'raw' is a supported date format

Jonathan Nieder (1):
      contrib/vim: simplify instructions for old vim support

Junio C Hamano (2):
      Start preparing for

Marc Khouzam (1):
      Prevent space after directories in tcsh completion

Michael Haggerty (8):
      Introduce new static function real_path_internal()
      real_path_internal(): add comment explaining use of cwd
      Introduce new function real_path_if_valid()
      longest_ancestor_length(): use string_list_split()
      longest_ancestor_length(): take a string_list argument for prefixes
      longest_ancestor_length(): require prefix list entries to be normalized
      setup_git_directory_gently_1(): resolve symlinks in ceiling paths
      string_list_longest_prefix(): remove function

Nguyễn Thái Ngọc Duy (1):
      attr: make it build with DEBUG_ATTR again

Nickolai Zeldovich (1):
      git-send-email: treat field names as case-insensitively

Peter Eisentraut (1):
      git-commit-tree(1): correct description of defaults

René Scharfe (5):
      archive-zip: write uncompressed size into header even with streaming
      t0024, t5000: clear variable UNZIP, use GIT_UNZIP instead
      t0024, t5000: use test_lazy_prereq for UNZIP
      t5000, t5003: move ZIP tests into their own script
      t5003: check if unzip supports symlinks

Sebastian Staudt (1):
      config.txt: Document help.htmlpath config parameter

Junio C Hamano wrote on 28 Jan 2013