* Various gitweb updates from repo.or.cz installation.
+* Updates to emacs bindings.
+
(portability)
* A few test scripts used nonportable "grep" that did not work well on
* Sample pre-auto-gc script has OS X support.
+* Makefile has support for (ancient) FreeBSD 4.9.
+
(performance)
+* Many operations that are lstat(3) heavy can be told to pre-execute
+ necessary lstat(3) in parallel before their main operations, which
+ potentially gives much improved performance for cold-cache cases or in
+ environments with weak metadata caching (e.g. NFS).
+
* The underlying diff machinery to produce textual output has been
optimized, which would result in faster "git blame" processing.
to a non-zero value to accept the suggestion when git can uniquely
guess.
+* The packfile machinery hopefully is more robust when dealing with
+ corrupt packs if redundant objects involved in the corruption are
+ available elsewhere.
+
* "git add -N path..." adds the named paths as an empty blob, so that
subsequent "git diff" will show a diff as if they are creation events.
* "git diff" learned --dirstat-by-file to count changed files, not number
of lines, when summarizing the global picture.
+* "git diff" learned "textconv" filters --- a binary or hard-to-read
+ contents can be munged into human readable form and the difference
+ between the results of the conversion can be viewed (obviously this
+ cannot produce a patch that can be applied, so this is disabled in
+ format-patch among other things).
+
* "git diff" hunk header pattern for ObjC has been added.
+* "--cached" option to "git diff has an easier to remember synonym "--staged",
+ to ask "what is the difference between the given commit and the
+ contents staged in the index?"
+
* a "textconv" filter that makes binary files textual form for human
consumption can be specified as an attribute for paths; "git diff"
learnt to make use of it.
* "git log" learned --simplify-merges, a milder variant of --full-history;
"gitk --simplify-merges" is easier to view than with --full-history.
+* "git log" learned "--source" to show what ref each commit was reached
+ from.
+
+* "git log" also learned "--simplify-by-decoration" to show the
+ birds-eye-view of the topology of the history.
+
* "git log --pretty=format:" learned "%d" format element that inserts
names of tags that point at the commit.
* "git merge -s $strategy" can use a custom built strategy if you have a
command "git-merge-$strategy" on your $PATH.
+* "git pull" (and "git fetch") can be told to operate "-v"erbosely or
+ "-q"uietly.
+
* "git push" can be told to reject deletion of refs with receive.denyDeletes
configuration.
* when giving up resolving a conflicted merge, "git reset --hard" failed
to remove new paths from the working tree. [cherry-pick to 'maint'?]
+* "git send-email" can be given revision range instead of files and
+ maildirs on the command line, and automatically runs format-patch to
+ generate patches for the given revision range.
+
* "git submodule foreach" subcommand allows you to iterate over checked
out submodules.
* "git filter-branch" failed to rewrite a tag name with slashes in it.
+* "git repack" used to grab objects out of packs marked with .keep
+ into a new pack (fix scheduled to be further downmerged to maint).
+
* "git push --tags --all $there" failed with generic usage message without
telling saying these two options are incompatible.
timestamp part, exposing internal implementation detail. Also these did
not work with --fixed-strings match at all.
+* Internal diff machinery had a corner case performance bug that choked on a
+ large file with many repeated contents (fix scheduled to be further cherry-
+ picked to maint).
+
--
exec >/var/tmp/1
-O=v1.6.0.3-639-ga1a846a
+O=v1.6.0.4-854-gaaab7ea
echo O=$(git describe master)
git shortlog --no-merges $O..master ^maint