<commit_before>GIT v1.6.3.2 Release Notes
==========================

Fixes since v1.6.3.1
--------------------

 * A few codepaths picked up the first few bytes from an sha1[] by
   casting the (char *) pointer to (int *); GCC 4.4 did not like this,
   and aborted compilation.

 * http-push had a small use-after-free bug.

 * command completion code in bash did not reliably detect that we are
   in a bare repository.

 * "git for-each-ref" had a segfaulting bug when dealing with a tag object
   created by an ancient git.

 * Some unlink(2) failures went undiagnosed.

 * The "recursive" merge strategy misbehaved when faced rename/delete
   conflicts while coming up with an intermediate merge base.

 * GIT_TRACE mechanism segfaulted when tracing a shell-quoted aliases.

 * "git add ." in an empty directory complained that pathspec "." did not
   match anything, which may be technically correct, but not useful.  We
   silently make it a no-op now.

 * "git format-patch -k" still added patch numbers if format.numbered
   configuration was set.

 * OpenBSD also uses st_ctimspec in "struct stat", instead of "st_ctim".

 * With NO_CROSS_DIRECTORY_HARDLINKS, "make install" can be told not to
   create hardlinks between $(gitexecdir)/git-$builtin_commands and
   $(bindir)/git.

 * "git push" was converting OFS_DELTA pack representation into less
   efficient REF_DELTA representation unconditionally upon transfer,
   making the transferred data unnecessarily larger.

Many other general usability updates around help text, diagnostic messages
and documentation are included as well.

---
exec >/var/tmp/1
O=v1.6.3.1-51-g2a1feb9
echo O=$(git describe maint)
git shortlog --no-merges $O..maint
<commit_msg>Update draft release notes for 1.6.3.2<commit_after>GIT v1.6.3.2 Release Notes
==========================

Fixes since v1.6.3.1
--------------------

 * A few codepaths picked up the first few bytes from an sha1[] by
   casting the (char *) pointer to (int *); GCC 4.4 did not like this,
   and aborted compilation.

 * Some unlink(2) failures went undiagnosed.

 * The "recursive" merge strategy misbehaved when faced rename/delete
   conflicts while coming up with an intermediate merge base.

 * The low-level merge algorithm did not handle a degenerate case of
   merging a file with itself using itself as the common ancestor
   gracefully.  It should produce the file itself, but instead
   produced an empty result.

 * GIT_TRACE mechanism segfaulted when tracing a shell-quoted aliases.

 * OpenBSD also uses st_ctimspec in "struct stat", instead of "st_ctim".

 * With NO_CROSS_DIRECTORY_HARDLINKS, "make install" can be told not to
   create hardlinks between $(gitexecdir)/git-$builtin_commands and
   $(bindir)/git.

 * command completion code in bash did not reliably detect that we are
   in a bare repository.

 * "git add ." in an empty directory complained that pathspec "." did not
   match anything, which may be technically correct, but not useful.  We
   silently make it a no-op now.

 * "git add -p" (and "patch" action in "git add -i") was broken when
   the first hunk that adds a line at the top was split into two and
   both halves are marked to be used.

 * "git for-each-ref" had a segfaulting bug when dealing with a tag object
   created by an ancient git.

 * "git format-patch -k" still added patch numbers if format.numbered
   configuration was set.

 * "git grep --color ''" did not terminate.

 * http-push had a small use-after-free bug.

 * "git push" was converting OFS_DELTA pack representation into less
   efficient REF_DELTA representation unconditionally upon transfer,
   making the transferred data unnecessarily larger.

 * "git remote show origin" segfaulted when origin was still empty.

Many other general usability updates around help text, diagnostic messages
and documentation are included as well.

---
exec >/var/tmp/1
O=v1.6.3.1-68-g456cb4c
echo O=$(git describe maint)
git shortlog --no-merges $O..maint
{'fraction_non_alphanumeric': 0.0904295403165034, 'fraction_numerical': 0.012308465209746294, 'mean_word_length': 3.5301478953356087, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 7, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7300198', 'n_tokens_mistral': 1177, 'n_tokens_neox': 1101, 'n_words': 525}