@@ -15,6 +15,13 @@ current branch to the branch with the same name, only when the current
15
15
branch is set to integrate with that remote branch. There is a user
16
16
preference configuration variable "push.default" to change this.
17
17
18
+ "git push $there tag v1.2.3" used to allow replacing a tag v1.2.3
19
+ that already exists in the repository $there, if the rewritten tag
20
+ you are pushing points at a commit that is a decendant of a commit
21
+ that the old tag v1.2.3 points at. This was found to be error prone
22
+ and starting with this release, any attempt to update an existing
23
+ ref under refs/tags/ hierarchy will fail, without "--force".
24
+
18
25
19
26
Updates since v1.8.1
20
27
--------------------
@@ -38,11 +45,16 @@ UI, Workflows & Features
38
45
* Scripts can ask Git that wildcard patterns in pathspecs they give do
39
46
not have any significance, i.e. take them as literal strings.
40
47
41
- * The pathspec code learned to grok "foo/**/bar" as a pattern that
42
- matches "bar" in 0-or-more levels of subdirectory in "foo".
48
+ * The patterns in .gitignore and .gitattributes files can have **/,
49
+ as a pattern that matches 0 or more levels of subdirectory.
50
+ E.g. "foo/**/bar" matches "bar" in "foo" itself or in a
51
+ subdirectory of "foo".
43
52
44
53
* "git blame" (and "git diff") learned the "--no-follow" option.
45
54
55
+ * "git check-ignore" command to help debugging .gitignore files has
56
+ been added.
57
+
46
58
* "git cherry-pick" can be used to replay a root commit to an unborn
47
59
branch.
48
60
@@ -72,6 +84,9 @@ UI, Workflows & Features
72
84
* "git push" now requires "-f" to update a tag, even if it is a
73
85
fast-forward, as tags are meant to be fixed points.
74
86
87
+ * "git push" will stop without doing anything if the new "pre-push"
88
+ hook exists and exits with a failure.
89
+
75
90
* When "git rebase" fails to generate patches to be applied (e.g. due
76
91
to oom), it failed to detect the failure and instead behaved as if
77
92
there were nothing to do. A workaround to use a temporary file has
@@ -117,12 +132,27 @@ Performance, Internal Implementation, etc.
117
132
from a conflicted state, that we may have missed.
118
133
119
134
* The implementation of "imap-send" has been updated to reuse xml
120
- quoting code from http-push codepath.
135
+ quoting code from http-push codepath, and lost a lot of unused
136
+ code.
121
137
122
138
* There is a simple-minded checker for the test scripts in t/
123
139
directory to catch most common mistakes (it is not enabled by
124
140
default).
125
141
142
+ * You can build with USE_WILDMATCH=YesPlease to use a replacement
143
+ implementation of pattern matching logic used for pathname-like
144
+ things, e.g. refnames and paths in the repository. This new
145
+ implementation is not expected change the existing behaviour of Git
146
+ in this release, except for "git for-each-ref" where you can now
147
+ say "refs/**/master" and match with both refs/heads/master and
148
+ refs/remotes/origin/master. We plan to use this new implementation
149
+ in wider places (e.g. "git ls-files '**/Makefile' may find Makefile
150
+ at the top-level, and "git log '**/t*.sh'" may find commits that
151
+ touch a shell script whose name begins with "t" at any level) in
152
+ future versions of Git, but we are not there yet. By building with
153
+ USE_WILDMATCH, using the resulting Git daily and reporting when you
154
+ find breakages, you can help us get closer to that goal.
155
+
126
156
127
157
Also contains minor documentation updates and code clean-ups.
128
158
0 commit comments