Skip to content

Commit 3bc5322

Browse files
committed
First batch after 2.12
Signed-off-by: Junio C Hamano <[email protected]>
1 parent 3e5c639 commit 3bc5322

File tree

3 files changed

+153
-2
lines changed

3 files changed

+153
-2
lines changed

Documentation/RelNotes/2.13.0.txt

Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
22

33
GVF=GIT-VERSION-FILE
4-
DEF_VER=v2.12.0
4+
DEF_VER=v2.12.GIT
55

66
LF='
77
'

RelNotes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Documentation/RelNotes/2.12.0.txt
1+
Documentation/RelNotes/2.13.0.txt

0 commit comments

Comments
 (0)