First batch after 2.12

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Feb 27, 2017 at 14:04 UTC 3bc53220cb2dcf709f7a027a3f526befd021d858
3 files changed +153 -2
Documentation/RelNotes/2.13.0.txt new
+151
@@ -0,0 +1,151 @@
1 +Git 2.13 Release Notes
2 +======================
3 +
4 +Backward compatibility notes.
5 +
6 + * Use of an empty string as a pathspec element that is used for
7 + 'everything matches' is still warned and Git asks users to use a
8 + more explicit '.' for that instead. The hope is that existing
9 + users will not mind this change, and eventually the warning can be
10 + turned into a hard error, upgrading the deprecation into removal of
11 + this (mis)feature. That is not scheduled to happen in the upcoming
12 + release (yet).
13 +
14 + * The historical argument order "git merge <msg> HEAD <commit>..."
15 + has been deprecated for quite some time, and will be removed in a
16 + future release.
17 +
18 +
19 +Updates since v2.12
20 +-------------------
21 +
22 +UI, Workflows & Features
23 +
24 + * "git describe" and "git name-rev" have been taught to take more
25 + than one refname patterns to restrict the set of refs to base their
26 + naming output on, and also learned to take negative patterns to
27 + name refs not to be used for naming via their "--exclude" option.
28 +
29 + * Deletion of a branch "foo/bar" could remove .git/refs/heads/foo
30 + once there no longer is any other branch whose name begins with
31 + "foo/", but we didn't do so so far. Now we do.
32 +
33 + * When "git merge" detects a path that is renamed in one history
34 + while the other history deleted (or modified) it, it now reports
35 + both paths to help the user understand what is going on in the two
36 + histories being merged.
37 +
38 + * The <url> part in "http.<url>.<variable>" configuration variable
39 + can now be spelled with '*' that serves as wildcard.
40 + E.g. "http.https://*.example.com.proxy" can be used to specify the
41 + proxy used for https://a.example.com, https://b.example.com, etc.,
42 + i.e. any host in the example.com domain.
43 +
44 + * "git tag" did not leave useful message when adding a new entry to
45 + reflog; this was left unnoticed for a long time because refs/tags/*
46 + doesn't keep reflog by default.
47 +
48 + * The "negative" pathspec feature was somewhat more cumbersome to use
49 + than necessary in that its short-hand used "!" which needed to be
50 + escaped from shells, and it required "exclude from what?" specified.
51 +
52 + * The command line options for ssh invocation needs to be tweaked for
53 + some implementations of SSH (e.g. PuTTY plink wants "-P <port>"
54 + while OpenSSH wants "-p <port>" to specify port to connect to), and
55 + the variant was guessed when GIT_SSH environment variable is used
56 + to specify it. The logic to guess now applies to the command
57 + specified by the newer GIT_SSH_COMMAND and also core.sshcommand
58 + configuration variable, and comes with an escape hatch for users to
59 + deal with misdetected cases.
60 +
61 + * The "--git-path", "--git-common-dir", and "--shared-index-path"
62 + options of "git rev-parse" did not produce usable output. They are
63 + now updated to show the path to the correct file, relative to where
64 + the caller is.
65 +
66 + * "git diff -W" has been taught to handle the case where a new
67 + function is added at the end of the file better.
68 +
69 + * "git update-ref -d" and other operations to delete references did
70 + not leave any entry in HEAD's reflog when the reference being
71 + deleted was the current branch. This is not a problem in practice
72 + because you do not want to delete the branch you are currently on,
73 + but caused renaming of the current branch to something else not to
74 + be logged in a useful way.
75 +
76 +
77 +Performance, Internal Implementation, Development Support etc.
78 +
79 + * The code to list branches in "git branch" has been consolidated
80 + with the more generic ref-filter API.
81 +
82 + * Resource usage while enumerating refs from alternate object store
83 + has been optimized to help receiving end of "push" that hosts a
84 + repository with many "forks".
85 +
86 + * The gitattributes machinery is being taught to work better in a
87 + multi-threaded environment.
88 +
89 + * "git rebase -i" starts using the recently updated "sequencer" code.
90 +
91 + * Code and design clean-up for the refs API.
92 +
93 + * The preload-index code has been taught not to bother with the index
94 + entries that are paths that are not checked out by "sparse checkout".
95 +
96 + * Some warning() messages from "git clean" were updated to show the
97 + errno from failed system calls.
98 +
99 +
100 +Also contains various documentation updates and code clean-ups.
101 +
102 +
103 +Fixes since v2.12
104 +-----------------
105 +
106 +Unless otherwise noted, all the fixes since v2.9 in the maintenance
107 +track are contained in this release (see the maintenance releases'
108 +notes for details).
109 +
110 + * "git repack --depth=<n>" for a long time busted the specified depth
111 + when reusing delta from existing packs. This has been corrected.
112 + (merge 42b766d765 jk/delta-chain-limit later to maint).
113 +
114 + * The code to parse the command line "git grep <patterns>... <rev>
115 + [[--] <pathspec>...]" has been cleaned up, and a handful of bugs
116 + have been fixed (e.g. we used to check "--" if it is a rev).
117 + (merge 131f3c96d2 jk/grep-no-index-fix later to maint).
118 +
119 + * "git ls-remote" and "git archive --remote" are designed to work
120 + without being in a directory under Git's control. However, recent
121 + updates revealed that we randomly look into a directory called
122 + .git/ without actually doing necessary set-up when working in a
123 + repository. Stop doing so.
124 + (merge 4b0c3c7735 jn/remote-helpers-with-git-dir later to maint).
125 +
126 + * "git show-branch" expected there were only very short branch names
127 + in the repository and used a fixed-length buffer to hold them
128 + without checking for overflow.
129 + (merge d3cc5f4c44 jk/show-branch-lift-name-len-limit later to maint).
130 +
131 + * A caller of tempfile API that uses stdio interface to write to
132 + files may ignore errors while writing, which is detected when
133 + tempfile is closed (with a call to ferror()). By that time, the
134 + original errno that may have told us what went wrong is likely to
135 + be long gone and was overwritten by an irrelevant value.
136 + close_tempfile() now resets errno to EIO to make errno at least
137 + predictable.
138 + (merge 7e8c9355b7 jk/tempfile-ferror-fclose-confusion later to maint).
139 +
140 + * "git remote rm X", when a branch has remote X configured as the
141 + value of its branch.*.remote, tried to remove branch.*.remote and
142 + branch.*.merge and failed if either is unset.
143 + (merge 20690b2139 rl/remote-allow-missing-branch-name-merge later to maint).
144 +
145 + * A "gc.log" file left by a backgrounded "gc --auto" disables further
146 + automatic gc; it has been taught to run at least once a day (by
147 + default) by ignoring a stale "gc.log" file that is too old.
148 + (merge a831c06a2b dt/gc-ignore-old-gc-logs later to maint).
149 +
150 + * Other minor doc, test and build updates and code cleanups.
151 + (merge 2cfa83574c mm/two-more-xstrfmt later to maint).
GIT-VERSION-GEN
+1 -1
@@ -1,7 +1,7 @@
1 #!/bin/sh
2
3 GVF=GIT-VERSION-FILE
4 -DEF_VER=v2.12.0
4 +DEF_VER=v2.12.GIT
5
6 LF='
7 '
RelNotes
+1 -1
@@ -1 +1 @@
1 -Documentation/RelNotes/2.12.0.txt
\ No newline at end of file
1 +Documentation/RelNotes/2.13.0.txt
\ No newline at end of file