Home Explore Blog CI



git

2nd chunk of `Documentation/RelNotes/1.8.2.1.adoc`
ec0deb2c3fe0b3ab6ffb65348c5fdb63ff31f8d12a0ca2670000000100000cca
 even when
   creating a new tag (i.e. not overwriting nor updating).

 * "git cmd -- ':(top'" was not diagnosed as an invalid syntax, and
   instead the parser kept reading beyond the end of the string.

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

 * 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.

 * 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 submodule update", when recursed into sub-submodules, did not
   accumulate the prefix paths.

 * "git am $maildir/" applied messages in an unexpected order; sort
   filenames read from the maildir/ in a way that is more likely to
   sort messages in the order the writing MUA meant to, by sorting
   numeric segment in numeric order and non-numeric segment in
   alphabetical order.

 * When export-subst is used, "zip" output recorded incorrect
   size of the file.

 * Some platforms and users spell UTF-8 differently; retry with the
   most official "UTF-8" when the system does not understand the
   user-supplied encoding name that are the common alternative
   spellings of UTF-8.

 * "git branch" did not bother to check nonsense command line
   parameters and issue errors in many cases.

 * "git update-index -h" did not do the usual "-h(elp)" thing.

 * perl/Git.pm::cat_blob 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 index-pack" had a buffer-overflow while preparing an
   informational message when the translated version of it was too
   long.

 * Clarify in the documentation "what" gets pushed to "where" when the
   command line to "git push" does not say these explicitly.

 * In "git reflog expire", REACHABLE bit was not cleared from the
   correct objects.

 * The "--color=<when>" argument to the commands in the diff family
   was described poorly.

 * The arguments given to pre-rebase hook were not documented.

 * The v4 index format was not documented.

 * The "--match=<pattern>" argument "git describe" takes uses glob
   pattern but it wasn't obvious from the documentation.

 * Some sources failed to compile on systems that lack NI_MAXHOST in
   their system header (e.g. z/OS).

 * Add an example use of "--env-filter" in "filter-branch"
   documentation.

 * "git bundle verify" did not say "records a complete history" for a
   bundle that does not have any prerequisites.

 * In the v1.8.0 era, we changed symbols that do not have to be global
   to file scope static, but a few functions in graph.c were used by
   CGit from sideways bypassing the entry points of the API the
   in-tree users use.

 * "git merge-tree" had a typo in the logic to detect d/f conflicts,
   which caused it to segfault in some cases.

Title: Git v1.8.2.1 Bug Fixes and Improvements
Summary
This release addresses numerous bugs and issues in Git, including problems with tag creation, syntax parsing, submodule updates, and diff functionality, as well as improvements to documentation, encoding handling, and security features like SSL peer verification.