Git v2.5.1 Release Notes ======================== Fixes since v2.5 ---------------- * Running an aliased command from a subdirectory when the .git thing in the working tree is a gitfile pointing elsewhere did not work. * Often a fast-import stream builds a new commit on top of the previous commit it built, and it often unconditionally emits a "from" command to specify the first parent, which can be omitted in such a case. This caused fast-import to forget the tree of the previous commit and then re-read it from scratch, which was inefficient. Optimize for this common case. * The "rev-parse --parseopt" mode parsed the option specification and the argument hint in a strange way to allow '=' and other special characters in the option name while forbidding them from the argument hint. This made it impossible to define an option like "--pair =" with "pair=key=value" specification, which instead would have defined a "--pair=key " option. * A "rebase" replays changes of the local branch on top of something else, as such they are placed in stage #3 and referred to as "theirs", while the changes in the new base, typically a foreign work, are placed in stage #2 and referred to as "ours". Clarify the "checkout --ours/--theirs". * An experimental "untracked cache" feature used uname(2) in a slightly unportable way. * "sparse checkout" misbehaved for a path that is excluded from the checkout when switching between branches that differ at the path. * The low-level "git send-pack" did not honor 'user.signingkey' configuration variable when sending a signed-push. * An attempt to delete a ref by pushing into a repository whose HEAD symbolic reference points at an unborn branch that cannot be created due to ref D/F conflict (e.g. refs/heads/a/b exists, HEAD points at refs/heads/a) failed. * "git subtree" (in contrib/) depended on "git log" output to be stable, which was a no-no. Apply a workaround to force a particular date format. Also contains typofixes, documentation updates and trivial code clean-ups.