* Various vcs-svn enhancements.
+ * Various git-gui updates (0.14.0).
+
* Update to more modern HP-UX port.
- * The codebase is getting prepared for i18n/l10n; no translated/translatable
- strings in the code yet.
+ * The codebase is getting prepared for i18n/l10n; no translated
+ strings nor translation mechanism in the code yet, but the strings
+ are being marked for l10n.
+
+ * The bash completion script can now complete symmetric difference
+ for "git diff" command, e.g. "git diff ...bra<TAB>".
+
+ * The default minimum length of abbreviated and unique object names
+ can now be configured by setting the core.abbrev configuration
+ variable.
* "git apply -v" reports offset lines when the patch does not apply at
the exact location recorded in the diff output.
- * "git branch --track" (and "git checkout --track --branch") used to
- allow setting up a random non-branch that does not make sense to follow
- as the "upstream". The command correctly diagnoses it as an error.
-
* "git config" used to be also known as "git repo-config", but the old
name is now officially deprecated.
reached, without spewing unnecessary error messages that complain about
the server response it never got.
+ * "git fetch" vs "git upload-pack" transfer learned 'no-done'
+ protocol extension to save one round-trip after the content
+ negotiation is done. This saves one HTTP RPC, reducing the overall
+ latency for a trivial fetch.
+
* "git grep -f <filename>" learned to treat "-" as "read from the
standard input stream".
* "git grep --no-index" did not honor pathspecs correctly, returning
paths outside the specified area.
+ * "git init" learned the --separate-git-dir option to allow the git
+ directory for a new repository created elsewhere and linked via the
+ gitdir mechanism. This is primarily to help submodule support later
+ to switch between a branch of superproject that has the submodule
+ and another that does not.
+
* "git log" type commands now understand globbing pathspecs. You
can say "git log -- '*.txt'" for example.
+ * "git log" family of commands learned --cherry and --cherry-mark
+ options that can be used to view two diverged branches while omitting
+ or highlighting equivalent changes that appear on both sides of a
+ symmetric difference (e.g. "log --cherry A...B").
+
+ * A lazy "git merge" that didn't say what to merge used to be an error.
+ When run on a branch that has an upstream defined, however, the command
+ now merges from the configured upstream.
+
* "git mergetool" learned how to drive "beyond compare 3" as well.
* "git rerere forget" without pathspec used to forget all the saved
All of the fixes in the v1.7.4.X maintenance series are included in this
release, unless otherwise noted.
- * "git apply" used to confuse lines updated by previous hunks as lines
- that existed before when applying a hunk, contributing misapplication
- of patches with offsets.
+ * "git fetch" from a client that is mostly following the remote
+ needlessly told all of its refs to the server for both sides to
+ compute the set of objects that need to be transferred efficiently,
+ instead of stopping when the server heard enough. In a project with
+ many tags, this turns out to be extremely wasteful, especially over
+ the smart HTTP transport (sp/maint-{upload,fetch}-pack-stop-early~1).
+
+ * "git fetch" run from a repository that uses the same repository as
+ its alternate object store as the repository it is fetching from
+ did not tell the server that it already has access to objects
+ reachable from the refs in their common alternate object store,
+ causing it to fetch unnecessary objects (jc/maint-fetch-alt).
- * "git checkout $other_branch" silently removed untracked symbolic links
- in the working tree that are in the way in order to check out paths
- under it from the named branch (js/checkout-untracked-symlink).
+ * "git pull" into an empty branch should have behaved as if
+ fast-forwarding from emptiness to the version being pulled, with
+ the usual protection against overwriting untracked files (need to
+ cherry-pick 4b3ffe5).
---
exec >/var/tmp/1
-O=v1.7.4.1-352-gcdc3466
+O=v1.7.5-rc0-99-g8f84c95
echo O=$(git describe 'master')
git shortlog --no-merges ^maint ^$O master