"git push" will warn about the upcoming change until you set this
variable.
+"git branch --set-upstream" is deprecated and may be removed in a
+relatively distant future. "git branch [-u|--set-upstream-to]" has
+been introduced with a saner order of arguments.
+
Updates since v1.7.12
---------------------
* A credential helper for Win32 to allow access to the keychain of
the logged-in user has been added.
+ * A credential helper to allow access to the Gnome keyring has been
+ added.
+
+ * It was tempting to say "git branch --set-upstream origin/master",
+ but that tells Git to arrange the local branch "origin/master" to
+ integrate with the currently checked out branch, which is highly
+ unlikely what the user meant. The option is deprecated; use the
+ new "--set-upstream-to" (with a short-and-sweet "-u") option
+ instead.
+
* "git cherry-pick" learned the "--allow-empty-message" option to
allow it to replay a commit without any log message.
* "git grep" learned to use a non-standard pattern type by default if
a configuration variable tells it to.
+ * "git merge-base" learned "--is-ancestor A B" option to tell if A is
+ an ancestor of B. The result is indicated by its exit status code.
+
+
Foreign Interface
* "git svn" has been updated to work with SVN 1.7.
Performance, Internal Implementation, etc. (please report possible regressions)
+ * Git ships with a fall-back regexp implementation for platforms with
+ buggy regexp library, but it was easy for people to keep using their
+ platform regexp. A new test has been added to check this.
+
* The "check-docs" build target has been updated and greatly
simplified.
for materials meant to be examples that are better typeset in
monospace.
- * Compatibility wrapper to learn the maximum number of file
- descriptors we can open around sysconf(_SC_OPEN_MAX) and
- getrlimit(RLIMIT_NO_FILE) has been introduced for portability.
-
* Compatibility wrapper around some mkdir(2) implementations that
reject parameter with trailing slash has been introduced.
+ * Many internal uses of "git merge-base" equivalent were only to see
+ if one commit fast-forwards to the other, which did not need the
+ full set of merge bases to be computed. They have been updated to
+ use less expensive checks.
+
* The heuristics to detect and silently convert latin1 to utf8 when
we were told to use utf-8 in the log message has been transplanted
from "mailinfo" to "commit" and "commit-tree".
maintenance track are contained in this release (see release notes
to them for details).
+ * "git show --format='%ci'" did not give timestamp correctly for
+ commits created without human readable name on "committer" line.
+ (merge e27ddb6 jc/maint-ident-missing-human-name later to maint).
+
+ * "git cherry-pick A C B" used to replay changes in A and then B and
+ then C if these three commits had committer timestamps in that
+ order, which is not what the user who said "A C B" naturally
+ expects.
+ (merge a73e22e mz/cherry-pick-cmdline-order later to maint).
+
+ * "git show --quiet" ought to be a synonym for "git show -s", but
+ wasn't.
+ (merge f9c75d8 jk/maint-quiet-is-synonym-to-s-in-log later to maint).
+
* "git p4", when "--use-client-spec" and "--detect-branches" are used
together, misdetected branches.
(merge 21ef5df pw/p4-use-client-spec-branch-detection later to maint).
this problem.
(merge 6a2abdc jc/apply-binary-p0 later to maint).
- * The exit status code from "git config" was way overspecified while
- being incorrect. The implementation has been updated to give the
- documented status for a case that was documented, and introduce a
- new code for "all other errors".
- (merge 9409c7a jc/maint-config-exit-status later to maint).
-
- * "git foo" errored out with "Not a directory" when the user had a
- non-directory on $PATH, and worse yet it masked an alias "foo" from
- running. (merge a785508 jc/maint-sane-execvp-notdir later to
- maint).
-
* The interactive prompt "git send-email" gives was error prone. It
asked "What e-mail address do you want to use?" with the address it
guessed (correctly) the user would want to use in its prompt,
please use 'y' as the e-mail address instead", which is most
certainly not what the user meant.
(merge 51bbccf jc/send-email-reconfirm later to maint).
-
- * "git stash apply/pop" did not trigger "rerere" upon conflicts
- unlike other mergy operations.
- (merge 743bf6d ph/stash-rerere later to maint).
-
- * "git submodule update -f" did not update paths in the working tree
- that has local changes.
- (merge 01d4721 sz/submodule-force-update later to maint).
-
- * We used curl_easy_strerror() without checking version of cURL,
- breaking the build for versions before curl 7.12.0.
- (merge 4246b0b js/no-curl-easy-strerror-on-old-curl later to maint).
-
- * Code to work around MacOS X UTF-8 gotcha has been cleaned up.
- (merge 9a27f96 rr/precompose-utf8-cleanup later to maint).
-
- * Documentation for the configuration file format had a confusing
- example.
- (merge d1e1fe7 mh/maint-config-doc-proxy-command later to maint).
-
- * "git submodule <cmd> path" did not error out when the path to the
- submodule was misspelt.
- (merge be9d0a3 hv/submodule-path-unmatch later to maint).
-
- * Some capabilities were asked by fetch-pack even when upload-pack
- did not advertise that they are available. fetch-pack has been
- fixed not to do so.
-
- * The output from "git diff -B" for a file that ends with an
- incomplete line did not put "\ No newline..." on a line of its own.