1
1
Git v1.8.2 Release Notes
2
2
========================
3
3
4
- Backward compatibility notes
5
- ----------------------------
6
-
7
- In the next major release Git 2.0 (not *this* one), we will change the
8
- behavior of the "git push" command.
9
-
10
- When "git push [$there]" does not say what to push, we have used the
11
- traditional "matching" semantics so far (all your branches were sent
12
- to the remote as long as there already are branches of the same name
13
- over there). We will use the "simple" semantics that pushes the
14
- current branch to the branch with the same name, only when the current
15
- branch is set to integrate with that remote branch. There is a user
16
- preference configuration variable "push.default" to change this.
4
+ Backward compatibility notes (this release)
5
+ -------------------------------------------
17
6
18
7
"git push $there tag v1.2.3" used to allow replacing a tag v1.2.3
19
8
that already exists in the repository $there, if the rewritten tag
@@ -22,22 +11,41 @@ that the old tag v1.2.3 points at. This was found to be error prone
22
11
and starting with this release, any attempt to update an existing
23
12
ref under refs/tags/ hierarchy will fail, without "--force".
24
13
25
- When "git add -u" and "git add -A", that does not specify what paths
26
- to add on the command line, is run from inside a subdirectory, the
14
+ When "git add -u" and "git add -A" that does not specify what paths
15
+ to add on the command line is run from inside a subdirectory, the
27
16
scope of the operation has always been limited to the subdirectory.
28
17
Many users found this counter-intuitive, given that "git commit -a"
29
18
and other commands operate on the entire tree regardless of where you
30
- are. In this release, these commands give warning in such a case and
31
- encourage the user to say "git add -u/-A ." instead when restricting
32
- the scope to the current directory.
33
-
34
- At Git 2.0 (not *this* one), we plan to change these commands without
35
- pathspec to operate on the entire tree. Forming a habit to type "."
36
- when you mean to limit the command to the current working directory
37
- will protect you against the planned future change, and that is the
38
- whole point of the new message (there will be no configuration
39
- variable to squelch this warning---it goes against the "habit forming"
40
- objective).
19
+ are. In this release, these commands give a warning message that
20
+ suggests the users to use "git add -u/-A ." when they want to limit
21
+ the scope to the current directory; doing so will squelch the message,
22
+ while training their fingers.
23
+
24
+
25
+ Backward compatibility notes (for Git 2.0)
26
+ ------------------------------------------
27
+
28
+ When "git push [$there]" does not say what to push, we have used the
29
+ traditional "matching" semantics so far (all your branches were sent
30
+ to the remote as long as there already are branches of the same name
31
+ over there). In Git 2.0, the default will change to the "simple"
32
+ semantics that pushes the current branch to the branch with the same
33
+ name, only when the current branch is set to integrate with that
34
+ remote branch. There is a user preference configuration variable
35
+ "push.default" to change this. If you are an old-timer who is used
36
+ to the "matching" semantics, you can set it to "matching" to keep the
37
+ traditional behaviour. If you want to live in the future early,
38
+ you can set it to "simple" today without waiting for Git 2.0.
39
+
40
+ When "git add -u" and "git add -A", that does not specify what paths
41
+ to add on the command line is run from inside a subdirectory, these
42
+ commands will operate on the entire tree in Git 2.0 for consistency
43
+ with "git commit -a" and other commands. Because there will be no
44
+ mechanism to make "git add -u" behave as if "git add -u .", it is
45
+ important for those who are used to "git add -u" (without pathspec)
46
+ updating the index only for paths in the current subdirectory to start
47
+ training their fingers to explicitly say "git add -u ." when they mean
48
+ it before Git 2.0 comes.
41
49
42
50
43
51
Updates since v1.8.1
0 commit comments