(subsystems)
+* various git-svn updates.
+
(performance)
* many uses of lstat(2) in the codepath for "git checkout" have been
optimized out.
+* pruning reflog entries that are unreachable from the tip of the ref
+ during "git reflog prune" (hence "git gc") was very inefficient.
+
(usability, bells and whistles)
* rsync:/path/to/repo can be used to run git over rsync for local
spelled as "--format=<style>". In addition, --format=%formatstring
is a short-hand for --pretty=tformat:%formatstring.
-* "--oneline" is a synonym for "--pretty=oneline --abbrev=commit".
+* "--oneline" is a synonym for "--pretty=oneline --abbrev-commit".
* If you realize that you botched the patch when you are editing hunks
with the 'edit' action in git-add -i/-p, you can abort the editor to
tell git not to apply it.
+* The number of commits shown in "you are ahead/behind your upstream"
+ messages given by "git checkout" and "git status" used to count merge
+ commits; now it doesn't.
+
+* @{-1} is a new way to refer to the last branch you were on introduced in
+ 1.6.2, but the initial implementation did not teach this to a few
+ commands. Now the syntax works with "branch -m @{-1} newname".
+
* git-archive learned --output=<file> option.
* git-bisect shows not just the number of remaining commits whose goodness
* You can give --date=<format> option to git-blame.
-* git-branch -r shows HEAD symref that points at a remote branch in
+* "git-branch -r" shows HEAD symref that points at a remote branch in
interest of each tracked remote repository.
+* "git-branch -v -v" is a new way to get list of names for branches and the
+ "upstream" branch for them.
+
* git-config learned -e option to open an editor to edit the config file
directly.
* git-clone runs post-checkout hook when run without --no-checkout.
+* git-fast-export choked when seeing a tag that does not point at commit.
+
+* git-for-each-ref learned a new "upstream" token.
+
* git-format-patch can be told to use attachment with a new configuration,
format.attach.
* git-format-patch can be told to produce deep or shallow message threads.
+* git-format-patch can be told to always add sign-off with a configuration
+ variable.
+
+* git-format-patch learned format.headers configuration to add extra
+ header fields to the output. This behaviour is similar to the existing
+ --add-header=<header> option of the command.
+
+* git-format-patch gives human readable names to the attached files, when
+ told to send patches as attachments.
+
* git-grep learned to highlight the found substrings in color.
* git-imap-send learned to work around Thunderbird's inability to easily
* Output from git-remote command has been vastly improved.
+* "git remote update --prune $remote" updates from the named remote and
+ then prunes stale tracking branches.
+
* git-send-email learned --confirm option to review the Cc: list before
sending the messages out.
* Makefile learned 'coverage' option to run the test suites with
coverage tracking enabled.
+* Building the manpages with docbook-xsl between 1.69.1 and 1.71.1 now
+ requires setting DOCBOOK_SUPPRESS_SP to work around a docbook-xsl bug.
+ This workaround used to be enabled by default, but causes problems
+ with newer versions of docbook-xsl. In addition, there are a few more
+ knobs you can tweak to work around issues with various versions of the
+ docbook-xsl package. See comments in Documentation/Makefile for details.
+
Fixes since v1.6.2
------------------
Here are fixes that this release has, but have not been backported to
v1.6.2.X series.
-* "git-blame -S" did not quite work near the commits that were given
- on the command line correctly (jc/maint-1.6.0-blame-s).
-
* The initial checkout did not read the attributes from the .gitattribute
file that is being checked out.
-* git-diff feeds files in work-tree representation to external diff and
- textconv (js/maint-diff-temp-smudge).
+* "git-checkout <tree-ish> <submodule>" did not update the index entry at
+ the named path; it now does.
* git-gc spent excessive amount of time to decide if an object appears
in a locally existing pack (if needed, backport by merging 69e020a).
+* "git-ls-tree" and "git-diff-tree" used a pathspec correctly when
+ deciding to descend into a subdirectory but they did not match the
+ individual paths correctly. This caused pathspecs "abc/d ab" to match
+ "abc/0" ("abc/d" made them decide to descend into the directory "abc/",
+ and then "ab" incorrectly matched "abc/0" when it shouldn't).
+
+* "git-merge-recursive" was broken when a submodule entry was involved in
+ a criss-cross merge situation.
+
---
exec >/var/tmp/1
-O=v1.6.2.1-399-gaa72a14
+O=v1.6.2.3-497-g54a4749
echo O=$(git describe master)
git shortlog --no-merges $O..master ^maint