Skip to content

Commit 077f434

Browse files
committed
Start 1.9 cycle
Signed-off-by: Junio C Hamano <[email protected]>
1 parent dd1cec5 commit 077f434

File tree

3 files changed

+135
-2
lines changed

3 files changed

+135
-2
lines changed

Documentation/RelNotes/1.9.txt

+133
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
Git v1.9 Release Notes
2+
======================
3+
4+
Backward compatibility notes
5+
----------------------------
6+
7+
"git submodule foreach $cmd $args" used to treat "$cmd $args" the same
8+
way "ssh" did, concatenating them into a single string and letting the
9+
shell unquote. Careless users who forget to sufficiently quote $args
10+
gets their argument split at $IFS whitespaces by the shell, and got
11+
unexpected results due to this. Starting from this release, the
12+
command line is passed directly to the shell, if it has an argument.
13+
14+
Read-only support for experimental loose-object format, in which users
15+
could optionally choose to write in their loose objects for a short
16+
while between v1.4.3 to v1.5.3 era, has been dropped.
17+
18+
19+
Backward compatibility notes (for Git 2.0)
20+
------------------------------------------
21+
22+
When "git push [$there]" does not say what to push, we have used the
23+
traditional "matching" semantics so far (all your branches were sent
24+
to the remote as long as there already are branches of the same name
25+
over there). In Git 2.0, the default will change to the "simple"
26+
semantics, which pushes:
27+
28+
- only the current branch to the branch with the same name, and only
29+
when the current branch is set to integrate with that remote
30+
branch, if you are pushing to the same remote as you fetch from; or
31+
32+
- only the current branch to the branch with the same name, if you
33+
are pushing to a remote that is not where you usually fetch from.
34+
35+
Use the user preference configuration variable "push.default" to
36+
change this. If you are an old-timer who is used to the "matching"
37+
semantics, you can set the variable to "matching" to keep the
38+
traditional behaviour. If you want to live in the future early, you
39+
can set it to "simple" today without waiting for Git 2.0.
40+
41+
When "git add -u" (and "git add -A") is run inside a subdirectory and
42+
does not specify which paths to add on the command line, it
43+
will operate on the entire tree in Git 2.0 for consistency
44+
with "git commit -a" and other commands. There will be no
45+
mechanism to make plain "git add -u" behave like "git add -u .".
46+
Current users of "git add -u" (without a pathspec) should start
47+
training their fingers to explicitly say "git add -u ."
48+
before Git 2.0 comes. A warning is issued when these commands are
49+
run without a pathspec and when you have local changes outside the
50+
current directory, because the behaviour in Git 2.0 will be different
51+
from today's version in such a situation.
52+
53+
In Git 2.0, "git add <path>" will behave as "git add -A <path>", so
54+
that "git add dir/" will notice paths you removed from the directory
55+
and record the removal. Versions before Git 2.0, including this
56+
release, will keep ignoring removals, but the users who rely on this
57+
behaviour are encouraged to start using "git add --ignore-removal <path>"
58+
now before 2.0 is released.
59+
60+
The default prefix for "git svn" will change in Git 2.0. For a long
61+
time, "git svn" created its remote-tracking branches directly under
62+
refs/remotes, but it will place them under refs/remotes/origin/ unless
63+
it is told otherwise with its --prefix option.
64+
65+
66+
Updates since v1.8.5
67+
--------------------
68+
69+
Foreign interfaces, subsystems and ports.
70+
71+
* The HTTP transport, when talking GSS-Negotinate, uses "100
72+
Continue" response to avoid having to rewind and resend a large
73+
payload, which may not be always doable.
74+
75+
* Various bugfixes to remote-bzr and remote-hg (in contrib/).
76+
77+
78+
UI, Workflows & Features
79+
80+
* "git for-each-ref --format=..." learned a few formatting directives;
81+
e.g. "%(color:red)%(HEAD)%(color:reset) %(refname:short) %(subject)".
82+
83+
* The command string given to "git submodule foreach" is passed
84+
directly to the shell, without being eval'ed. This is a backward
85+
incompatible change that may break existing users.
86+
87+
* "git log" and friends learned the "--exclude=<glob>" option, to
88+
allow people to say "list history of all branches except those that
89+
match this pattern" with "git log --exclude='*/*' --branches".
90+
91+
* "git rev-parse --parseopt" learned a new "--stuck-long" option to
92+
help scripts parse options with an optional parameter.
93+
94+
95+
Performance, Internal Implementation, etc.
96+
97+
* The new PERLLIB_EXTRA makefile variable can be used to specify
98+
additional directories Perl modules (e.g. the ones necessary to run
99+
git-svn) are installed on the platform when building.
100+
101+
* "git merge-base" learned the "--fork-point" mode, that implements
102+
the same logic used in "git pull --rebase" to find a suitable fork
103+
point out of the reflog entries for the remote-tracking branch the
104+
work has been based on.
105+
106+
107+
108+
Also contains various documentation updates and code clean-ups.
109+
110+
111+
Fixes since v1.8.5
112+
------------------
113+
114+
Unless otherwise noted, all the fixes since v1.8.5 in the maintenance
115+
track are contained in this release (see the maintenance releases' notes
116+
for details).
117+
118+
* "git diff -- ':(icase)makefile'" was unnecessarily rejected at the
119+
command line parser.
120+
(merge 887c6c1 nd/magic-pathspec later to maint).
121+
122+
* "git cat-file --batch-check=ok" did not check the existence of
123+
the named object.
124+
(merge 4ef8d1d sb/sha1-loose-object-info-check-existence later to maint).
125+
126+
* "git am --abort" sometimes complained about not being able to write
127+
a tree with an 0{40} object in it.
128+
(merge 77b43ca jk/two-way-merge-corner-case-fix later to maint).
129+
130+
* Two processes creating loose objects at the same time could have
131+
failed unnecessarily when the name of their new objects started
132+
with the same byte value, due to a race condition.
133+
(merge b2476a6 jh/loose-object-dirs-creation-race later to maint).

GIT-VERSION-GEN

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
22

33
GVF=GIT-VERSION-FILE
4-
DEF_VER=v1.8.5
4+
DEF_VER=v1.8.5.GIT
55

66
LF='
77
'

RelNotes

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Documentation/RelNotes/1.8.5.txt
1+
Documentation/RelNotes/1.9.txt

0 commit comments

Comments
 (0)