@@ -15,6 +15,13 @@ current branch to the branch with the same name, only when the current
1515branch is set to integrate with that remote branch. There is a user
1616preference configuration variable "push.default" to change this.
1717
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+
1825
1926Updates since v1.8.1
2027--------------------
@@ -38,11 +45,16 @@ UI, Workflows & Features
3845 * Scripts can ask Git that wildcard patterns in pathspecs they give do
3946 not have any significance, i.e. take them as literal strings.
4047
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".
4352
4453 * "git blame" (and "git diff") learned the "--no-follow" option.
4554
55+ * "git check-ignore" command to help debugging .gitignore files has
56+ been added.
57+
4658 * "git cherry-pick" can be used to replay a root commit to an unborn
4759 branch.
4860
@@ -72,6 +84,9 @@ UI, Workflows & Features
7284 * "git push" now requires "-f" to update a tag, even if it is a
7385 fast-forward, as tags are meant to be fixed points.
7486
87+ * "git push" will stop without doing anything if the new "pre-push"
88+ hook exists and exits with a failure.
89+
7590 * When "git rebase" fails to generate patches to be applied (e.g. due
7691 to oom), it failed to detect the failure and instead behaved as if
7792 there were nothing to do. A workaround to use a temporary file has
@@ -117,12 +132,27 @@ Performance, Internal Implementation, etc.
117132 from a conflicted state, that we may have missed.
118133
119134 * 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.
121137
122138 * There is a simple-minded checker for the test scripts in t/
123139 directory to catch most common mistakes (it is not enabled by
124140 default).
125141
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+
126156
127157Also contains minor documentation updates and code clean-ups.
128158
0 commit comments