"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
---------------------
UI, Workflows & Features
+ * 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 daemon" learned the "--access-hook" option to allow an
+ external command to decline service based on the client address,
+ repository path, etc.
+
* "git difftool --dir-diff" learned to use symbolic links to prepare
temporary copy of the working tree when available.
* "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 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".
+
+ * Messages given by "git <subcommand> -h" from many subcommands have
+ been marked for translation.
+
Also contains minor documentation updates and code clean-ups.
maintenance track are contained in this release (see release notes
to them for details).
-
- * When "git push" triggered the automatic gc on the receiving end, a
- message from "git prune" that said it was removing cruft leaked to
- the standard output, breaking the communication protocol.
- (merge 4b7f2fa bc/receive-pack-stdout-protection later to maint).
-
- * "git diff" had a confusion between taking data from a path in the
- working tree and taking data from an object that happens to have
- name 0{40} recorded in a tree.
- (merge c479d14 jk/maint-null-in-trees later to maint).
-
- * 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.
-
- * "git send-email" did not unquote encoded words that appear on the
- header correctly, and lost "_" from strings.
- (merge b622d4d tr/maint-send-email-2047 later to maint).
-
- * When the user gives an argument that can be taken as both a
- revision name and a pathname without disambiguating with "--", we
- used to give a help message "Use '--' to separate". The message
- has been clarified to show where that '--' goes on the command
- line.
- (merge 4d4b573 mm/die-with-dashdash-help later to maint).
-
- * "gitweb" when used with PATH_INFO failed to notice directories with
- SP (and other characters that need URL-style quoting) in them.
- (merge cacfc09 js/gitweb-path-info-unquote later to maint).
+ * "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).
+
+ * Output from "git branch -v" contains "(no branch)" that could be
+ localized, but the code to align it along with the names of
+ branches were counting in bytes, not in display columns.
+ (merge 1452bd6 nd/branch-v-alignment later to maint).
+
+ * "git for-each-ref" did not currectly support more than one --sort
+ option.
+ (merge 3b51222 kk/maint-for-each-ref-multi-sort later to maint).
+
+ * Pushing to smart HTTP server with recent Git fails without having
+ the username in the URL to force authentication, if the server is
+ configured to allow GET anonymously, while requiring authentication
+ for POST.
+ (merge b81401c jk/maint-http-half-auth-push later to maint).
+
+ * When looking for $HOME/.gitconfig etc., it is OK if we cannot read
+ them because they do not exist, but we did not diagnose existing
+ files that we cannot read.
+
+ * The synopsis said "checkout [-B branch]" to make it clear the
+ branch name is a parameter to the option, but the heading for the
+ option description was "-B::", not "-B branch::", making the
+ documentation misleading. There may be room in documentation pages
+ of other commands for similar improvements (hint, hint).
+ (merge 45aaf03 jc/maint-doc-checkout-b-always-takes-branch-name later to maint).
+
+ * "git log .." errored out saying it is both rev range and a path
+ when there is no disambiguating "--" is on the command line.
+ Update the command line parser to interpret ".." as a path in such
+ a case.
+ (merge 003c84f jc/dotdot-is-parent-directory later to maint).
+
+ * "git apply -p0" did not parse pathnames on "diff --git" line
+ correctly. This caused patches that had pathnames in no other
+ places to be mistakenly rejected (most notably, binary patch that
+ does not rename nor change mode). Textual patches, renames or mode
+ changes have preimage and postimage pathnames in different places
+ in a form that can be parsed unambiguously and did not suffer from
+ this problem.
+ (merge 6a2abdc jc/apply-binary-p0 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,
+ tempting the user to say "y". But the response was taken as "No,
+ 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).