@@ -4,17 +4,62 @@ Git 2.27 Release Notes
4
4
Updates since v2.26
5
5
-------------------
6
6
7
+ Backward compatibility notes
8
+
9
+ * When "git describe C" finds that commit C is pointed by a signed or
10
+ annotated tag, which records T as its tagname in the object, the
11
+ command gives T as its answer. Even if the user renames or moves
12
+ such a tag from its natural location in the "refs/tags/" hierarchy,
13
+ "git describe C" would still give T as the answer, but in such a
14
+ case "git show T^0" would no longer work as expected. There may be
15
+ nothing at "refs/tags/T" or even worse there may be a different tag
16
+ instead.
17
+
18
+ Starting from this version, "git describe" will always use the
19
+ "long" version, as if the "--long" option were given, when giving
20
+ its output based on such a misplaced tag to work around the problem.
21
+
22
+ * "git pull" issues a warning message until the pull.rebase
23
+ configuration variable is explicitly given, which some existing
24
+ users may find annoying---those who prefer not to rebase need to
25
+ set the variable to false to squelch the warning.
26
+
27
+
7
28
UI, Workflows & Features
8
29
9
30
* A handful of options to configure SSL when talking to proxies have
10
31
been added.
11
32
33
+ * Smudge/clean conversion filters are now given more information
34
+ (e.g. the object of the tree-ish in which the blob being converted
35
+ appears, in addition to its path, which has already been given).
36
+
37
+ * When "git describe C" finds an annotated tag with tagname A to be
38
+ the best name to explain commit C, and the tag is stored in a
39
+ "wrong" place in the refs/tags hierarchy, e.g. refs/tags/B, the
40
+ command gave a warning message but used A (not B) to describe C.
41
+ If C is exactly at the tag, the describe output would be "A", but
42
+ "git rev-parse A^0" would not be equal as "git rev-parse C^0". The
43
+ behavior of the command has been changed to use the "long" form
44
+ i.e. A-0-gOBJECTNAME, which is correctly interpreted by rev-parse.
45
+
46
+ * "git pull" learned to warn when no pull.rebase configuration
47
+ exists, and neither --[no-]rebase nor --ff-only is given (which
48
+ would result a merge).
49
+
12
50
13
51
Performance, Internal Implementation, Development Support etc.
14
52
15
53
* The advise API has been revamped to allow more systematic enumeration of
16
54
advice knobs in the future.
17
55
56
+ * SHA-256 transition continues.
57
+
58
+ * The code to interface with GnuPG has been refactored.
59
+
60
+ * "git stash" has kept an escape hatch to use the scripted version
61
+ for a few releases, which got stale. It has been removed.
62
+
18
63
19
64
Fixes since v2.26
20
65
-----------------
@@ -32,6 +77,14 @@ Fixes since v2.26
32
77
rewrite of "git rebase" in C, which has been corrected.
33
78
(merge 430b75f720 pw/advise-rebase-skip later to maint).
34
79
80
+ * Fix "git checkout --recurse-submodules" of a nested submodule
81
+ hierarchy.
82
+ (merge 846f34d351 pb/recurse-submodules-fix later to maint).
83
+
84
+ * The "--fork-point" mode of "git rebase" regressed when the command
85
+ was rewritten in C back in 2.20 era, which has been corrected.
86
+ (merge f08132f889 at/rebase-fork-point-regression-fix later to maint).
87
+
35
88
* Other code cleanup, docfix, build fix, etc.
36
89
(merge 564956f358 jc/maintain-doc later to maint).
37
90
(merge 7422b2a0a1 sg/commit-slab-clarify-peek later to maint).
0 commit comments