Merge branch 'sb/checkout-recurse-submodules'
[gitweb.git] / Documentation / RelNotes / 2.13.0.txt
index 0d4a3ef931594c846d6bf3dd2685debf43631137..adf6e44a49bd90a570b74bebb892eac4ba8358fc 100644 (file)
@@ -15,6 +15,10 @@ Backward compatibility notes.
    has been deprecated for quite some time, and will be removed in a
    future release.
 
+ * The default location "~/.git-credential-cache/socket" for the
+   socket used to communicate with the credential-cache daemon has
+   been moved to "~/.cache/git/credential/socket".
+
 
 Updates since v2.12
 -------------------
@@ -77,7 +81,6 @@ UI, Workflows & Features
    unlike in the e-mail header.  "git send-email" has been updated to
    ignore anything after '>' when picking addresses, to allow non-address
    cruft like " # stable 4.4" after the address.
-   (merge 9d3343961b jh/send-email-one-cc later to maint).
 
  * When "git submodule init" decides that the submodule in the working
    tree is its upstream, it now gives a warning as it is not a very
@@ -113,6 +116,28 @@ UI, Workflows & Features
    repository and was quite messy due to its "chicken-and-egg" nature.
    The code has been restructured.
 
+ * The command line prompt (in contrib/) learned a new 'tag' style
+   that can be specified with GIT_PS1_DESCRIBE_STYLE, to describe a
+   detached HEAD with "git describe --tags".
+
+ * The configuration file learned a new "includeIf.<condition>.path"
+   that includes the contents of the given path only when the
+   condition holds.  This allows you to say "include this work-related
+   bit only in the repositories under my ~/work/ directory".
+
+ * Recent update to "rebase -i" started showing a message that is not
+   a warning with "warning:" prefix by mistake.  This has been fixed.
+
+ * Recently we started passing the "--push-options" through the
+   external remote helper interface; now the "smart HTTP" remote
+   helper understands what to do with the passed information.
+
+ * "git describe --dirty" dies when it cannot be determined if the
+   state in the working tree matches that of HEAD (e.g. broken
+   repository or broken submodule).  The command learned a new option
+   "git describe --broken" to give "$name-broken" (where $name is the
+   description of HEAD) in such a case.
+
 
 Performance, Internal Implementation, Development Support etc.
 
@@ -141,11 +166,9 @@ Performance, Internal Implementation, Development Support etc.
 
  * A test that creates a confusing branch whose name is HEAD has been
    corrected not to do so.
-   (merge f0252ca23c jk/t6300-cleanup later to maint).
 
  * The code that parses header fields in the commit object has been
    updated for (micro)performance and code hygiene.
-   (merge b072504ce1 rs/commit-parsing-optim later to maint).
 
  * An helper function to make it easier to append the result from
    real_path() to a strbuf has been added.
@@ -186,6 +209,16 @@ Performance, Internal Implementation, Development Support etc.
    use; this has been cleaned up and made to use the newer commit-slab
    facility.
 
+ * The "debug" helper used in the test framework learned to run
+   a command under "gdb" interactively.
+   (merge 59210dd56c sg/test-with-stdin later to maint).
+
+ * The "detect attempt to create collisions" variant of SHA-1
+   implementation by Marc Stevens (CWI) and Dan Shumow (Microsoft)
+   has been integrated and made the default.
+
+ * The test framework learned to detect unterminated here documents.
+
 
 Also contains various documentation updates and code clean-ups.
 
@@ -193,7 +226,7 @@ Also contains various documentation updates and code clean-ups.
 Fixes since v2.12
 -----------------
 
-Unless otherwise noted, all the fixes since v2.9 in the maintenance
+Unless otherwise noted, all the fixes since v2.12 in the maintenance
 track are contained in this release (see the maintenance releases'
 notes for details).
 
@@ -204,19 +237,16 @@ notes for details).
  * The code to parse the command line "git grep <patterns>... <rev>
    [[--] <pathspec>...]" has been cleaned up, and a handful of bugs
    have been fixed (e.g. we used to check "--" if it is a rev).
-   (merge 131f3c96d2 jk/grep-no-index-fix later to maint).
 
  * "git ls-remote" and "git archive --remote" are designed to work
    without being in a directory under Git's control.  However, recent
    updates revealed that we randomly look into a directory called
    .git/ without actually doing necessary set-up when working in a
    repository.  Stop doing so.
-   (merge 4b0c3c7735 jn/remote-helpers-with-git-dir later to maint).
 
  * "git show-branch" expected there were only very short branch names
    in the repository and used a fixed-length buffer to hold them
    without checking for overflow.
-   (merge d3cc5f4c44 jk/show-branch-lift-name-len-limit later to maint).
 
  * A caller of tempfile API that uses stdio interface to write to
    files may ignore errors while writing, which is detected when
@@ -225,22 +255,18 @@ notes for details).
    be long gone and was overwritten by an irrelevant value.
    close_tempfile() now resets errno to EIO to make errno at least
    predictable.
-   (merge 7e8c9355b7 jk/tempfile-ferror-fclose-confusion later to maint).
 
  * "git remote rm X", when a branch has remote X configured as the
    value of its branch.*.remote, tried to remove branch.*.remote and
    branch.*.merge and failed if either is unset.
-   (merge 20690b2139 rl/remote-allow-missing-branch-name-merge later to maint).
 
  * A "gc.log" file left by a backgrounded "gc --auto" disables further
    automatic gc; it has been taught to run at least once a day (by
    default) by ignoring a stale "gc.log" file that is too old.
-   (merge a831c06a2b dt/gc-ignore-old-gc-logs later to maint).
 
  * The code to parse "git -c VAR=VAL cmd" and set configuration
    variable for the duration of cmd had two small bugs, which have
    been fixed.
-   (merge 1274a155af jc/config-case-cmdline-take-2 later to maint).
 
  * user.email that consists of only cruft chars should consistently
    error out, but didn't.
@@ -250,11 +276,9 @@ notes for details).
    report a request for a ref that was not advertised as invalid.
    This is generally not a problem (because "git fetch" will stop
    before making such a request), but is the right thing to do.
-   (merge bdb31eada7 jt/upload-pack-error-report later to maint).
 
  * A leak in a codepath to read from a packed object in (rare) cases
    has been plugged.
-   (merge 886ddf4777 rs/sha1-file-plug-fallback-base-leak later to maint).
 
  * When a redirected http transport gets an error during the
    redirected request, we ignored the error we got from the server,
@@ -272,7 +296,6 @@ notes for details).
 
  * There is no need for Python only to give a few messages to the
    standard error stream, but we somehow did.
-   (merge b8686c661d ss/remote-bzr-hg-placeholder-wo-python later to maint).
 
  * The code to parse "git log -L..." command line was buggy when there
    are many ranges specified with -L; overrun of the allocated buffer
@@ -286,7 +309,6 @@ notes for details).
    made an incorrect short-cut when asked only to populate the size
    field for paths that need to go through convert_to_git() (e.g. CRLF
    conversion).
-   (merge 12426e114b jc/diff-populate-filespec-size-only-fix later to maint).
 
  * A few tests were run conditionally under (rare) conditions where
    they cannot be run (like running cvs tests under 'root' account).
@@ -314,11 +336,9 @@ notes for details).
 
  * "git push" had a handful of codepaths that could lead to a deadlock
    when unexpected error happened, which has been fixed.
-   (merge d1a13d3fcb jk/push-deadlock-regression-fix later to maint).
 
  * "Dumb http" transport used to misparse a nonsense http-alternates
    response, which has been fixed.
-   (merge d61434ae81 jk/http-walker-buffer-underflow-fix later to maint).
 
  * "git add -p <pathspec>" unnecessarily expanded the pathspec to a
    list of individual files that matches the pathspec by running "git
@@ -332,11 +352,39 @@ notes for details).
 
  * "git status --porcelain" is supposed to give a stable output, but a
    few strings were left as translatable by mistake.
-   (merge b9e2bc560a mg/status-porcelain-no-i18n later to maint).
+
+ * "git revert -m 0 $merge_commit" complained that reverting a merge
+   needs to say relative to which parent the reversion needs to
+   happen, as if "-m 0" weren't given.  The correct diagnosis is that
+   "-m 0" does not refer to the first parent ("-m 1" does).  This has
+   been fixed.
+
+ * Code to read submodule.<name>.ignore config did not state the
+   variable name correctly when giving an error message diagnosing
+   misconfiguration.
+
+ * Fix for NO_PTHREADS build.
+   (merge 7b91929ba0 jk/execv-dashed-external later to maint).
+
+ * Fix for potential segv introduced in v2.11.0 and later (also
+   v2.10.2) to "git log --pickaxe-regex -S".
+   (merge f53c5de29c js/regexec-buf later to maint).
+
+ * A few unterminated here documents in tests were fixed, which in
+   turn revealed incorrect expectations the tests make. These tests
+   have been updated.
+   (merge b42ca35e5c st/verify-tag later to maint).
 
  * Other minor doc, test and build updates and code cleanups.
-   (merge b803ae4427 ps/docs-diffcore later to maint).
-   (merge bcd886d897 ew/markdown-url-in-readme later to maint).
-   (merge b2d593a779 rj/remove-unused-mktemp later to maint).
-   (merge 3255e512a8 jk/ewah-use-right-type-in-sizeof later to maint).
    (merge dfa3ad3238 rs/blame-code-cleanup later to maint).
+   (merge ffddfc6328 jk/rev-parse-cleanup later to maint).
+   (merge f20754802a jk/pack-name-cleanups later to maint).
+   (merge d4aae459cd sb/wt-status-cleanup later to maint).
+   (merge e94eac49e6 rs/http-push-cleanup later to maint).
+   (merge ba6746c08f rs/path-name-safety-cleanup later to maint).
+   (merge d41626ff9e rs/shortlog-cleanup later to maint).
+   (merge dce96c41f9 rs/update-hook-optim later to maint).
+   (merge 37e61153e2 jk/quote-env-path-list-component later to maint).
+   (merge a4dded0189 sb/submodule-update-initial-runs-custom-script later to maint).
+   (merge 70471ed9bb sb/t3600-rephrase later to maint).
+   (merge e7e183d6ee km/config-grammofix later to maint).