* Updates the way content tags are handled in gitweb.
+ * Similar to branch names, tagnames that begin with "-" are now
+ disallowed.
+
* Clean-up of the C part of i18n (but not l10n---please wait)
continues.
+ * The scripting part of the codebase is getting prepared for i18n/l10n.
+
* Processes spawned by "[alias] <name> = !process" in the configuration
can inspect GIT_PREFIX environment variable to learn where in the
working tree the original command was invoked.
+ * A magic pathspec ":/" tells a command that limits its operation to
+ the current directory when ran from a subdirectory to work on the
+ entire working tree. In general, ":/path/to/file" would be relative
+ to the root of the working tree hierarchy.
+
+ After "git reset --hard; edit Makefile; cd t/", "git add -u" would
+ be a no-op, but "git add -u :/" would add the updated contents of
+ the Makefile at the top level. If you want to name a path in the
+ current subdirectory whose unusual name begins with ":/", you can
+ name it by "./:/that/path" or by "\:/that/path".
+
* "git blame" learned "--abbrev[=<n>]" option to control the minimum
number of hexdigits shown for commit object names.
+ * "git blame" learned "--line-porcelain" that is less efficient but is
+ easier to parse.
+
* Aborting "git commit --interactive" discards updates to the index
made during the interctive session.
"--show-notes" option. Unlike "--show-notes", "--notes=<ref>" does
not imply showing the default notes.
+ * "git ls-remote" learned "--exit-code" option to consider it a
+ different kind of error when no remote ref to be shown.
+
* "git merge" learned "-" as a short-hand for "the previous branch", just
like the way "git checkout -" works.
(or not setting it at all) restores the default behaviour of allowing
fast-forward to happen when possible.
+ * p4-import (from contrib) learned a new option --preserve-user.
+
* "git rebase" that does not specify on top of which branch to rebase
the current branch now uses @{upstream} of the current branch.
* "git submodule update" learned "--force" option to get rid of local
changes in submodules and replace them with the up-to-date version.
+ * "git status" and friends ignore .gitmodules file while the file is
+ still in a conflicted state during a merge, to avoid using information
+ that is not final and possibly corrupt with conflict markers.
+
* Compressed tarball gitweb generates is made without the timestamp of
the tarball generation; snapshot from the same tree should result in
a same tarball.
* The bash completion scripts should correctly work using zsh's bash
completion emulation layer now.
- (merge either fc/completion-zsh later)
+ (merge fc/completion-zsh later)
+
+ * The logic to handle "&" (expand to UNIX username) in GECOS field
+ miscounted the length of the name it formatted.
+ (merge rg/copy-gecos-username later)
+
+ * The single-key mode of "git add -p" was easily fooled into thinking
+ that it was told to add everthing ('a') when up-arrow was pressed by
+ mistake.
+ (merge tr/add-i-no-escape later)
+
+ * "git cherry-pick -s resolve" failed to cherry-pick a root commit.
+ (merge jk/cherry-pick-root-with-resolve later)
* "git config" used to choke with an insanely long line.
(merge ef/maint-strbuf-init later)
+ * "git diff --word-diff" misbehaved when diff.suppress-blank-empty was
+ in effect.
+ (merge jm/maint-diff-words-with-sbe later)
+
+ * "git log --stdin path" with an input that has additional pathspec
+ used to corrupt memory.
+ (merge jc/maint-pathspec-stdin-and-cmdline later)
+
* "git send-pack" (hence "git push") over smalt-HTTP protocol could
deadlock when the client side pack-object died early.
(merge js/maint-send-pack-stateless-rpc-deadlock-fix later)
+ (merge jk/git-connection-deadlock-fix later)
---
exec >/var/tmp/1
echo O=$(git describe master)
-O=v1.7.5.1-339-g254fd97
+O=v1.7.5.2-352-g4961210
git shortlog --no-merges ^maint ^$O master