Declare that the next one will be named 2.20
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano committed
Oct 10, 2018 at 09:20 UTC
2efbb7f5218d5ca9d50cbcb86a365a08b2981d77
3 files changed
+168
-167
Documentation/RelNotes/2.20.0.txt
new
+167
@@ -0,0 +1,167 @@
1
+Git Release Notes
2
+=================
3
+
4
+Backward Compatibility Notes
5
+----------------------------
6
+
7
+ * "git branch -l <foo>" used to be a way to ask a reflog to be
8
+ created while creating a new branch, but that is no longer the
9
+ case. It is a short-hand for "git branch --list <foo>" now.
10
+
11
+ * "git push" into refs/tags/* hierarchy is rejected without getting
12
+ forced, but "git fetch" (misguidedly) used the "fast forwarding"
13
+ rule used for the refs/heads/* hierarchy; this has been corrected,
14
+ which means some fetches of tags that did not fail with older
15
+ version of Git will fail without "--force" with this version.
16
+
17
+
18
+Updates since v2.19
19
+-------------------
20
+
21
+UI, Workflows & Features
22
+
23
+ * Running "git clone" against a project that contain two files with
24
+ pathnames that differ only in cases on a case insensitive
25
+ filesystem would result in one of the files lost because the
26
+ underlying filesystem is incapable of holding both at the same
27
+ time. An attempt is made to detect such a case and warn.
28
+
29
+ * "git checkout -b newbranch [HEAD]" should not have to do as much as
30
+ checking out a commit different from HEAD. An attempt is made to
31
+ optimize this special case.
32
+
33
+ * "git rev-list --stdin </dev/null" used to be an error; it now shows
34
+ no output without an error. "git rev-list --stdin --default HEAD"
35
+ still falls back to the given default when nothing is given on the
36
+ standard input.
37
+
38
+ * Lift code from GitHub to restrict delta computation so that an
39
+ object that exists in one fork is not made into a delta against
40
+ another object that does not appear in the same forked repository.
41
+
42
+ * "git format-patch" learned new "--interdiff" and "--range-diff"
43
+ options to explain the difference between this version and the
44
+ previous attempt in the cover letter (or after the tree-dashes as
45
+ a comment).
46
+
47
+ * "git mailinfo" used in "git am" learned to make a best-effort
48
+ recovery of a patch corrupted by MUA that sends text/plain with
49
+ format=flawed option.
50
+ (merge 3aa4d81f88 rs/mailinfo-format-flowed later to maint).
51
+
52
+ * The rules used by "git push" and "git fetch" to determine if a ref
53
+ can or cannot be updated were inconsistent; specifically, fetching
54
+ to update existing tags were allowed even though tags are supposed
55
+ to be unmoving anchoring points. "git fetch" was taught to forbid
56
+ updates to existing tags without the "--force" option.
57
+
58
+
59
+Performance, Internal Implementation, Development Support etc.
60
+
61
+ * When there are too many packfiles in a repository (which is not
62
+ recommended), looking up an object in these would require
63
+ consulting many pack .idx files; a new mechanism to have a single
64
+ file that consolidates all of these .idx files is introduced.
65
+
66
+ * "git submodule update" is getting rewritten piece-by-piece into C.
67
+
68
+ * The code for computing history reachability has been shuffled,
69
+ obtained a bunch of new tests to cover them, and then being
70
+ improved.
71
+
72
+ * The unpack_trees() API used in checking out a branch and merging
73
+ walks one or more trees along with the index. When the cache-tree
74
+ in the index tells us that we are walking a tree whose flattened
75
+ contents is known (i.e. matches a span in the index), as linearly
76
+ scanning a span in the index is much more efficient than having to
77
+ open tree objects recursively and listing their entries, the walk
78
+ can be optimized, which has been done.
79
+
80
+ * When creating a thin pack, which allows objects to be made into a
81
+ delta against another object that is not in the resulting pack but
82
+ is known to be present on the receiving end, the code learned to
83
+ take advantage of the reachability bitmap; this allows the server
84
+ to send a delta against a base beyond the "boundary" commit.
85
+
86
+ * spatch transformation to replace boolean uses of !hashcmp() to
87
+ newly introduced oideq() is added, and applied, to regain
88
+ performance lost due to support of multiple hash algorithms.
89
+
90
+ * Fix a bug in which the same path could be registered under multiple
91
+ worktree entries if the path was missing (for instance, was removed
92
+ manually). Also, as a convenience, expand the number of cases in
93
+ which --force is applicable.
94
+
95
+
96
+Fixes since v2.19
97
+-----------------
98
+
99
+ * "git interpret-trailers" and its underlying machinery had a buggy
100
+ code that attempted to ignore patch text after commit log message,
101
+ which triggered in various codepaths that will always get the log
102
+ message alone and never get such an input.
103
+ (merge 66e83d9b41 jk/trailer-fixes later to maint).
104
+
105
+ * Malformed or crafted data in packstream can make our code attempt
106
+ to read or write past the allocated buffer and abort, instead of
107
+ reporting an error, which has been fixed.
108
+
109
+ * "git rebase -i" did not clear the state files correctly when a run
110
+ of "squash/fixup" is aborted and then the user manually amended the
111
+ commit instead, which has been corrected.
112
+ (merge 10d2f35436 js/rebase-i-autosquash-fix later to maint).
113
+
114
+ * When fsmonitor is in use, after operation on submodules updates
115
+ .gitmodules, we lost track of the fact that we did so and relied on
116
+ stale fsmonitor data.
117
+ (merge 43f1180814 bp/mv-submodules-with-fsmonitor later to maint).
118
+
119
+ * Fix for a long-standing bug that leaves the index file corrupt when
120
+ it shrinks during a partial commit.
121
+ (merge 6c003d6ffb jk/reopen-tempfile-truncate later to maint).
122
+
123
+ * Further fix for O_APPEND emulation on Windows
124
+ (merge eeaf7ddac7 js/mingw-o-append later to maint).
125
+
126
+ * A corner case bugfix in "git rerere" code.
127
+ (merge ad2bf0d9b4 en/rerere-multi-stage-1-fix later to maint).
128
+
129
+ * "git add ':(attr:foo)'" is not supported and is supposed to be
130
+ rejected while the command line arguments are parsed, but we fail
131
+ to reject such a command line upfront.
132
+ (merge 84d938b732 nd/attr-pathspec-fix later to maint).
133
+
134
+ * Recent update broke the reachability algorithm when refs (e.g.
135
+ tags) that point at objects that are not commit were involved,
136
+ which has been fixed.
137
+
138
+ * "git rebase" etc. in Git 2.19 fails to abort when given an empty
139
+ commit log message as result of editing, which has been corrected.
140
+ (merge a3ec9eaf38 en/sequencer-empty-edit-result-aborts later to maint).
141
+
142
+ * The code to backfill objects in lazily cloned repository did not
143
+ work correctly, which has been corrected.
144
+ (merge e68302011c jt/lazy-object-fetch-fix later to maint).
145
+
146
+ * Update error messages given by "git remote" and make them consistent.
147
+ (merge 5025425dff ms/remote-error-message-update later to maint).
148
+
149
+ * "git update-ref" learned to make both "--no-deref" and "--stdin"
150
+ work at the same time.
151
+ (merge d345e9fbe7 en/update-ref-no-deref-stdin later to maint).
152
+
153
+ * Recently added "range-diff" had a corner-case bug to cause it
154
+ segfault, which has been corrected.
155
+ (merge e467a90c7a tg/range-diff-corner-case-fix later to maint).
156
+
157
+ * Code cleanup, docfix, build fix, etc.
158
+ (merge 96a7501aad ts/doc-build-manpage-xsl-quietly later to maint).
159
+ (merge b9b07efdb2 tg/conflict-marker-size later to maint).
160
+ (merge fa0aeea770 sg/doc-trace-appends later to maint).
161
+ (merge d64324cb60 tb/void-check-attr later to maint).
162
+ (merge c3b9bc94b9 en/double-semicolon-fix later to maint).
163
+ (merge 79336116f5 sg/t3701-tighten-trace later to maint).
164
+ (merge 801fa63a90 jk/dev-build-format-security later to maint).
165
+ (merge 0597dd62ba sb/string-list-remove-unused later to maint).
166
+ (merge db2d36fad8 bw/protocol-v2 later to maint).
167
+ (merge 456d7cd3a9 sg/split-index-test later to maint).
RelNotes
deleted
-167
@@ -1,167 +0,0 @@
1
-Git Release Notes
2
-=================
3
-
4
-Backward Compatibility Notes
5
-----------------------------
6
-
7
- * "git branch -l <foo>" used to be a way to ask a reflog to be
8
- created while creating a new branch, but that is no longer the
9
- case. It is a short-hand for "git branch --list <foo>" now.
10
-
11
- * "git push" into refs/tags/* hierarchy is rejected without getting
12
- forced, but "git fetch" (misguidedly) used the "fast forwarding"
13
- rule used for the refs/heads/* hierarchy; this has been corrected,
14
- which means some fetches of tags that did not fail with older
15
- version of Git will fail without "--force" with this version.
16
-
17
-
18
-Updates since v2.19
19
--------------------
20
-
21
-UI, Workflows & Features
22
-
23
- * Running "git clone" against a project that contain two files with
24
- pathnames that differ only in cases on a case insensitive
25
- filesystem would result in one of the files lost because the
26
- underlying filesystem is incapable of holding both at the same
27
- time. An attempt is made to detect such a case and warn.
28
-
29
- * "git checkout -b newbranch [HEAD]" should not have to do as much as
30
- checking out a commit different from HEAD. An attempt is made to
31
- optimize this special case.
32
-
33
- * "git rev-list --stdin </dev/null" used to be an error; it now shows
34
- no output without an error. "git rev-list --stdin --default HEAD"
35
- still falls back to the given default when nothing is given on the
36
- standard input.
37
-
38
- * Lift code from GitHub to restrict delta computation so that an
39
- object that exists in one fork is not made into a delta against
40
- another object that does not appear in the same forked repository.
41
-
42
- * "git format-patch" learned new "--interdiff" and "--range-diff"
43
- options to explain the difference between this version and the
44
- previous attempt in the cover letter (or after the tree-dashes as
45
- a comment).
46
-
47
- * "git mailinfo" used in "git am" learned to make a best-effort
48
- recovery of a patch corrupted by MUA that sends text/plain with
49
- format=flawed option.
50
- (merge 3aa4d81f88 rs/mailinfo-format-flowed later to maint).
51
-
52
- * The rules used by "git push" and "git fetch" to determine if a ref
53
- can or cannot be updated were inconsistent; specifically, fetching
54
- to update existing tags were allowed even though tags are supposed
55
- to be unmoving anchoring points. "git fetch" was taught to forbid
56
- updates to existing tags without the "--force" option.
57
-
58
-
59
-Performance, Internal Implementation, Development Support etc.
60
-
61
- * When there are too many packfiles in a repository (which is not
62
- recommended), looking up an object in these would require
63
- consulting many pack .idx files; a new mechanism to have a single
64
- file that consolidates all of these .idx files is introduced.
65
-
66
- * "git submodule update" is getting rewritten piece-by-piece into C.
67
-
68
- * The code for computing history reachability has been shuffled,
69
- obtained a bunch of new tests to cover them, and then being
70
- improved.
71
-
72
- * The unpack_trees() API used in checking out a branch and merging
73
- walks one or more trees along with the index. When the cache-tree
74
- in the index tells us that we are walking a tree whose flattened
75
- contents is known (i.e. matches a span in the index), as linearly
76
- scanning a span in the index is much more efficient than having to
77
- open tree objects recursively and listing their entries, the walk
78
- can be optimized, which has been done.
79
-
80
- * When creating a thin pack, which allows objects to be made into a
81
- delta against another object that is not in the resulting pack but
82
- is known to be present on the receiving end, the code learned to
83
- take advantage of the reachability bitmap; this allows the server
84
- to send a delta against a base beyond the "boundary" commit.
85
-
86
- * spatch transformation to replace boolean uses of !hashcmp() to
87
- newly introduced oideq() is added, and applied, to regain
88
- performance lost due to support of multiple hash algorithms.
89
-
90
- * Fix a bug in which the same path could be registered under multiple
91
- worktree entries if the path was missing (for instance, was removed
92
- manually). Also, as a convenience, expand the number of cases in
93
- which --force is applicable.
94
-
95
-
96
-Fixes since v2.19
97
------------------
98
-
99
- * "git interpret-trailers" and its underlying machinery had a buggy
100
- code that attempted to ignore patch text after commit log message,
101
- which triggered in various codepaths that will always get the log
102
- message alone and never get such an input.
103
- (merge 66e83d9b41 jk/trailer-fixes later to maint).
104
-
105
- * Malformed or crafted data in packstream can make our code attempt
106
- to read or write past the allocated buffer and abort, instead of
107
- reporting an error, which has been fixed.
108
-
109
- * "git rebase -i" did not clear the state files correctly when a run
110
- of "squash/fixup" is aborted and then the user manually amended the
111
- commit instead, which has been corrected.
112
- (merge 10d2f35436 js/rebase-i-autosquash-fix later to maint).
113
-
114
- * When fsmonitor is in use, after operation on submodules updates
115
- .gitmodules, we lost track of the fact that we did so and relied on
116
- stale fsmonitor data.
117
- (merge 43f1180814 bp/mv-submodules-with-fsmonitor later to maint).
118
-
119
- * Fix for a long-standing bug that leaves the index file corrupt when
120
- it shrinks during a partial commit.
121
- (merge 6c003d6ffb jk/reopen-tempfile-truncate later to maint).
122
-
123
- * Further fix for O_APPEND emulation on Windows
124
- (merge eeaf7ddac7 js/mingw-o-append later to maint).
125
-
126
- * A corner case bugfix in "git rerere" code.
127
- (merge ad2bf0d9b4 en/rerere-multi-stage-1-fix later to maint).
128
-
129
- * "git add ':(attr:foo)'" is not supported and is supposed to be
130
- rejected while the command line arguments are parsed, but we fail
131
- to reject such a command line upfront.
132
- (merge 84d938b732 nd/attr-pathspec-fix later to maint).
133
-
134
- * Recent update broke the reachability algorithm when refs (e.g.
135
- tags) that point at objects that are not commit were involved,
136
- which has been fixed.
137
-
138
- * "git rebase" etc. in Git 2.19 fails to abort when given an empty
139
- commit log message as result of editing, which has been corrected.
140
- (merge a3ec9eaf38 en/sequencer-empty-edit-result-aborts later to maint).
141
-
142
- * The code to backfill objects in lazily cloned repository did not
143
- work correctly, which has been corrected.
144
- (merge e68302011c jt/lazy-object-fetch-fix later to maint).
145
-
146
- * Update error messages given by "git remote" and make them consistent.
147
- (merge 5025425dff ms/remote-error-message-update later to maint).
148
-
149
- * "git update-ref" learned to make both "--no-deref" and "--stdin"
150
- work at the same time.
151
- (merge d345e9fbe7 en/update-ref-no-deref-stdin later to maint).
152
-
153
- * Recently added "range-diff" had a corner-case bug to cause it
154
- segfault, which has been corrected.
155
- (merge e467a90c7a tg/range-diff-corner-case-fix later to maint).
156
-
157
- * Code cleanup, docfix, build fix, etc.
158
- (merge 96a7501aad ts/doc-build-manpage-xsl-quietly later to maint).
159
- (merge b9b07efdb2 tg/conflict-marker-size later to maint).
160
- (merge fa0aeea770 sg/doc-trace-appends later to maint).
161
- (merge d64324cb60 tb/void-check-attr later to maint).
162
- (merge c3b9bc94b9 en/double-semicolon-fix later to maint).
163
- (merge 79336116f5 sg/t3701-tighten-trace later to maint).
164
- (merge 801fa63a90 jk/dev-build-format-security later to maint).
165
- (merge 0597dd62ba sb/string-list-remove-unused later to maint).
166
- (merge db2d36fad8 bw/protocol-v2 later to maint).
167
- (merge 456d7cd3a9 sg/split-index-test later to maint).
RelNotes
new
+1
@@ -0,0 +1 @@
1
+Documentation/RelNotes/2.20.0.txt
\ No newline at end of file