Home Explore Blog CI



git

6th chunk of `Documentation/RelNotes/1.8.2.adoc`
6394c6c2ed3b748197331e0b228a9d4f81635b65c30e0a5d0000000100000dfa
 detached HEAD, errored out.

 * "git clean" showed what it was going to do, but sometimes end up
   finding that it was not allowed to do so, which resulted in a
   confusing output (e.g. after saying that it will remove an
   untracked directory, it found an embedded git repository there
   which it is not allowed to remove).  It now performs the actions
   and then reports the outcome more faithfully.

 * When "git clone --separate-git-dir=$over_there" is interrupted, it
   failed to remove the real location of the $GIT_DIR it created.
   This was most visible when interrupting a submodule update.

 * "git cvsimport" mishandled timestamps at DST boundary.

 * We used to have an arbitrary 32 limit for combined diff input,
   resulting in incorrect number of leading colons shown when showing
   the "--raw --cc" output.

 * "git fetch --depth" was broken in at least three ways.  The
   resulting history was deeper than specified by one commit, it was
   unclear how to wipe the shallowness of the repository with the
   command, and documentation was misleading.
   (merge cfb70e1 nd/fetch-depth-is-broken later to maint).

 * "git log --all -p" that walked refs/notes/textconv/ ref can later
   try to use the textconv data incorrectly after it gets freed.

 * We forgot to close the file descriptor reading from "gpg" output,
   killing "git log --show-signature" on a long history.

 * The way "git svn" asked for password using SSH_ASKPASS and
   GIT_ASKPASS was not in line with the rest of the system.

 * The --graph code fell into infinite loop when asked to do what the
   code did not expect.

 * http transport was wrong to ask for the username when the
   authentication is done by certificate identity.

 * "git pack-refs" that ran in parallel to another process that
   created new refs had a nasty race.

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

 * After "git add -N" and then writing a tree object out of the
   index, the cache-tree data structure got corrupted.

 * "git clone" used to allow --bare and --separate-git-dir=$there
   options at the same time, which was nonsensical.

 * "git rebase --preserve-merges" lost empty merges in recent versions
   of Git.

 * "git merge --no-edit" computed who were involved in the work done
   on the side branch, even though that information is to be discarded
   without getting seen in the editor.

 * "git merge" started calling prepare-commit-msg hook like "git
   commit" does some time ago, but forgot to pay attention to the exit
   status of the hook.

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

 * When users spell "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.

 * Output from "git status --ignored" showed an unexpected interaction
   with "--untracked".

 * "gitweb", when sorting by age to show repositories with new
   activities first, used to sort repositories with absolutely
   nothing in it early, which was not very useful.

 * "gitweb"'s code to sanitize control characters before passing it to
   "highlight" filter lost known-to-be-safe control characters by
   mistake.

 * "gitweb" pages served over HTTPS, when configured to show picon or
   gravatar, referred to these external resources to be fetched via
   HTTP, resulting

Title: Git Bug Fixes and Improvements
Summary
This release addresses numerous bugs and issues in Git, including problems with 'git clean', 'git clone', 'git cvsimport', 'git fetch', 'git log', 'git svn', and other commands. Issues with rebasing, merging, and sending emails are also fixed, along with improvements to 'git pack-refs', 'git rebase', 'git merge', and 'gitweb'. Additionally, various other bugs and inconsistencies are addressed to improve the overall stability and functionality of Git.