What's cooking (2020/02 #05)
Junio C Hamano committed
Feb 25, 2020 at 14:48 UTC
67e92b69f8955cbfaad6450268730c0e2d16d995
1 file changed
+373
-455
whats-cooking.txt
+373
-455
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Feb 2020, #04; Mon, 17)
4
-X-master-at: 51ebf55b9309824346a6589c9f3b130c6f371b8f
5
-X-next-at: 3043dbfab8cba19275c80425d1436651d4be4a4a
3
+Subject: What's cooking in git.git (Feb 2020, #05; Tue, 25)
4
+X-master-at: 2d2118b814c11f509e1aa76cb07110f7231668dc
5
+X-next-at: 5900a2a8f925f2c0ac44ac71f8d2c1959bdec53b
6
7
-What's cooking in git.git (Feb 2020, #04; Mon, 17)
7
+What's cooking in git.git (Feb 2020, #05; Tue, 25)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -23,439 +23,333 @@ of the repositories listed at
23
--------------------------------------------------
24
[Graduated to "master"]
25
26
-* ag/edit-todo-drop-check (2020-01-28) 2 commits
27
- (merged to 'next' on 2020-02-07 at 687c82cd3a)
28
- + rebase-interactive: warn if commit is dropped with `rebase --edit-todo'
29
- + sequencer: move check_todo_list_from_file() to rebase-interactive.c
30
- (this branch uses js/rebase-i-with-colliding-hash.)
31
-
32
- Allow the rebase.missingCommitsCheck configuration to kick in when
33
- "rebase --edit-todo" and "rebase --continue" restarts the procedure.
34
-
35
-
36
-* ag/rebase-avoid-unneeded-checkout (2020-01-24) 1 commit
37
- (merged to 'next' on 2020-02-07 at b08da07534)
38
- + rebase -i: stop checking out the tip of the branch to rebase
39
-
40
- "git rebase -i" (and friends) used to unnecessarily check out the
41
- tip of the branch to be rebased, which has been corrected.
42
-
43
-
44
-* bc/hash-independent-tests-part-8 (2020-02-07) 21 commits
45
- (merged to 'next' on 2020-02-11 at 127748e61a)
46
- + t6024: update for SHA-256
47
- + t6006: make hash size independent
48
- + t6000: abstract away SHA-1-specific constants
49
- + t5703: make test work with SHA-256
50
- + t5607: make hash size independent
51
- + t5318: update for SHA-256
52
- + t5515: make test hash independent
53
- + t5321: make test hash independent
54
- + t5313: make test hash independent
55
- + t5309: make test hash independent
56
- + t5302: make hash size independent
57
- + t4060: make test work with SHA-256
58
- + t4211: add test cases for SHA-256
59
- + t4211: move SHA-1-specific test cases into a directory
60
- + t4013: make test hash independent
61
- + t3311: make test work with SHA-256
62
- + t3310: make test work with SHA-256
63
- + t3309: make test work with SHA-256
64
- + t3308: make test work with SHA-256
65
- + t3206: make hash size independent
66
- + t/lib-pack: support SHA-256
67
-
68
- Preparation for SHA-256 migration continues.
69
-
70
-
71
-* dl/test-must-fail-fixes-2 (2020-01-27) 16 commits
72
- (merged to 'next' on 2020-02-07 at 535e019692)
73
- + t4124: only mark git command with test_must_fail
74
- + t3507: use test_path_is_missing()
75
- + t3507: fix indentation
76
- + t3504: do check for conflict marker after failed cherry-pick
77
- + t3419: stop losing return code of git command
78
- + t3415: increase granularity of test_auto_{fixup,squash}()
79
- + t3415: stop losing return codes of git commands
80
- + t3310: extract common notes_merge_files_gone()
81
- + t3030: use test_path_is_missing()
82
- + t2018: replace "sha" with "oid"
83
- + t2018: don't lose return code of git commands
84
- + t2018: teach do_checkout() to accept `!` arg
85
- + t2018: be more discerning when checking for expected exit codes
86
- + t2018: improve style of if-statement
87
- + t2018: add space between function name and ()
88
- + t2018: remove trailing space from test description
89
-
90
- Test updates.
91
-
92
-
93
-* ds/sparse-checkout-harden (2020-01-31) 15 commits
94
- (merged to 'next' on 2020-02-07 at 56c09b944f)
95
- + sparse-checkout: fix cone mode behavior mismatch
96
- + sparse-checkout: improve docs around 'set' in cone mode
97
- + sparse-checkout: escape all glob characters on write
98
- + sparse-checkout: use C-style quotes in 'list' subcommand
99
- + sparse-checkout: unquote C-style strings over --stdin
100
- + sparse-checkout: write escaped patterns in cone mode
101
- + sparse-checkout: properly match escaped characters
102
- + sparse-checkout: warn on globs in cone patterns
103
- + sparse-checkout: detect short patterns
104
- + sparse-checkout: cone mode does not recognize "**"
105
- + sparse-checkout: fix documentation typo for core.sparseCheckoutCone
106
- + clone: fix --sparse option with URLs
107
- + sparse-checkout: create leading directories
108
- + t1091: improve here-docs
109
- + t1091: use check_files to reduce boilerplate
110
- (this branch is used by ds/sparse-add.)
111
-
112
- Some rough edges in the sparse-checkout feature, especially around
113
- the cone mode, have been cleaned up.
114
-
115
-
116
-* es/outside-repo-errmsg-hints (2020-02-16) 1 commit
117
- (merged to 'next' on 2020-02-16 at ed78b064b4)
118
- + prefix_path: show gitdir when arg is outside repo
119
-
120
- Error message clarification.
121
-
122
-
123
-* hw/advice-add-nothing (2020-02-06) 2 commits
124
- (merged to 'next' on 2020-02-07 at 3c2a5c1868)
125
- + add: change advice config variables used by the add API
126
- (merged to 'next' on 2020-01-22 at 3fe4494fa6)
127
- + add: use advise function to display hints
128
-
129
- Two help messages given when "git add" notices the user gave it
130
- nothing to add have been updated to use advise() API.
131
-
132
-
133
-* jh/notes-fanout-fix (2020-02-04) 2 commits
134
- (merged to 'next' on 2020-02-07 at a4ec94aee0)
135
- + notes.c: fix off-by-one error when decreasing notes fanout
136
- + t3305: check notes fanout more carefully and robustly
137
-
138
- The code to automatically shrink the fan-out in the notes tree had
139
- an off-by-one bug, which has been killed.
140
-
141
-
142
-* jk/alloc-cleanups (2020-02-04) 4 commits
143
- (merged to 'next' on 2020-02-07 at f259621312)
144
- + tree-walk.c: break circular dependency with unpack-trees
145
- + traverse_trees(): use stack array for name entries
146
- + walker_fetch(): avoid raw array length computation
147
- + normalize_path_copy(): document "dst" size expectations
148
-
149
- Misc code clean-ups.
150
-
151
-
152
-* jk/diff-honor-wserrhighlight-in-plumbing (2020-01-31) 1 commit
153
- (merged to 'next' on 2020-02-07 at acb077fdcb)
154
- + diff: move diff.wsErrorHighlight to "basic" config
155
-
156
- The diff-* plumbing family of subcommands now pay attention to the
157
- diff.wsErrorHighlight configuration, which has been ignored before;
158
- this allows "git add -p" to also show the whitespace problems to
159
- the end user.
26
+* bw/remote-rename-update-config (2020-02-10) 6 commits
27
+ (merged to 'next' on 2020-02-14 at 30b1a477de)
28
+ + remote rename/remove: gently handle remote.pushDefault config
29
+ + config: provide access to the current line number
30
+ + remote rename/remove: handle branch.<name>.pushRemote config values
31
+ + remote: clean-up config callback
32
+ + remote: clean-up by returning early to avoid one indentation
33
+ + pull --rebase/remote rename: document and honor single-letter abbreviations rebase types
34
35
+ "git remote rename X Y" needs to adjust configuration variables
36
+ (e.g. branch.<name>.remote) whose value used to be X to Y.
37
+ branch.<name>.pushRemote is now also updated.
38
162
-* jk/doc-credential-helper (2020-02-14) 1 commit
163
- (merged to 'next' on 2020-02-16 at 0909d3f981)
164
- + doc: move credential helper info into gitcredentials(7)
39
166
- Docfix.
40
+* es/bright-colors (2020-02-11) 3 commits
41
+ (merged to 'next' on 2020-02-14 at cc17dbc7e8)
42
+ + color.c: alias RGB colors 8-15 to aixterm colors
43
+ + color.c: support bright aixterm colors
44
+ + color.c: refactor color_output arguments
45
46
+ The basic 7 colors learned the brighter counterparts
47
+ (e.g. "brightred").
48
169
-* jk/get-oid-error-message-i18n (2020-01-30) 3 commits
170
- (merged to 'next' on 2020-02-07 at 6bfe9235e5)
171
- + sha1-name: mark get_oid() error messages for translation
172
- + t1506: drop space after redirection operator
173
- + t1400: avoid "test" string comparisons
49
175
- A low-level API function get_oid(), that accepts various ways to
176
- name an object, used to issue end-user facing error messages
177
- without l10n, which has been updated to be translatable.
50
+* es/doc-mentoring (2020-02-14) 2 commits
51
+ (merged to 'next' on 2020-02-17 at e3f3e316eb)
52
+ + MyFirstContribution: rephrase contact info
53
+ (merged to 'next' on 2020-02-05 at 3b05aabbcd)
54
+ + MyFirstContribution: add avenues for getting help
55
56
+ Doc for new contributors.
57
180
-* jk/index-pack-dupfix (2020-02-04) 1 commit
181
- (merged to 'next' on 2020-02-07 at e6d79d432b)
182
- + index-pack: downgrade twice-resolved REF_DELTA to die()
58
+--------------------------------------------------
59
+[New Topics]
60
184
- The index-pack code now diagnoses a bad input packstream that
185
- records the same object twice when it is used as delta base; the
186
- code used to declare a software bug when encountering such an
187
- input, but it is an input error.
61
+* am/mingw-poll-fix (2020-02-18) 1 commit
62
+ - mingw: workaround for hangs when sending STDIN
63
64
+ MinGW's poll() emulation has been improved.
65
190
-* jk/mailinfo-cleanup (2020-02-11) 4 commits
191
- (merged to 'next' on 2020-02-11 at ab9890fbcb)
192
- + mailinfo: factor out some repeated header handling
193
- + mailinfo: be more liberal with header whitespace
194
- + mailinfo: simplify parsing of header values
195
- + mailinfo: treat header values as C strings
196
- (this branch uses rs/strbuf-insertstr.)
66
+ Needs review by Windows folks.
67
198
- Code clean-up.
68
69
+* en/check-ignore (2020-02-18) 1 commit
70
+ (merged to 'next' on 2020-02-22 at f05a752211)
71
+ + check-ignore: fix documentation and implementation to match
72
201
-* jk/packfile-reuse-cleanup (2020-01-23) 12 commits
202
- (merged to 'next' on 2020-02-07 at c543bc27fb)
203
- + pack-bitmap: don't rely on bitmap_git->reuse_objects
204
- + pack-objects: add checks for duplicate objects
205
- + pack-objects: improve partial packfile reuse
206
- + builtin/pack-objects: introduce obj_is_packed()
207
- + pack-objects: introduce pack.allowPackReuse
208
- + csum-file: introduce hashfile_total()
209
- + pack-bitmap: simplify bitmap_has_oid_in_uninteresting()
210
- + pack-bitmap: uninteresting oid can be outside bitmapped packfile
211
- + pack-bitmap: introduce bitmap_walk_contains()
212
- + ewah/bitmap: introduce bitmap_word_alloc()
213
- + packfile: expose get_delta_base()
214
- + builtin/pack-objects: report reused packfile objects
73
+ "git check-ignore" did not work when the given path is explicitly
74
+ marked as not ignored with a negative entry in the .gitignore file.
75
216
- The way "git pack-objects" reuses objects stored in existing pack
217
- to generate its result has been improved.
76
+ Will merge to 'master'.
77
78
220
-* jn/promote-proto2-to-default (2020-01-15) 5 commits
221
- (merged to 'next' on 2020-02-07 at 5597fd726b)
222
- + fetch: default to protocol version 2
223
- + protocol test: let protocol.version override GIT_TEST_PROTOCOL_VERSION
224
- + test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate
225
- + config doc: protocol.version is not experimental
226
- + fetch test: use more robust test for filtered objects
79
+* en/t3433-rebase-stat-dirty-failure (2020-02-19) 2 commits
80
+ (merged to 'next' on 2020-02-25 at 000d596d4c)
81
+ + merge-recursive: fix the refresh logic in update_file_flags
82
+ + t3433: new rebase testcase documenting a stat-dirty-like failure
83
228
- The transport protocol version 2 becomes the default one.
84
+ The merge-recursive machinery failed to refresh the cache entry for
85
+ a merge result in a couple of places, resulting in an unnecessary
86
+ merge failure, which has been fixed.
87
88
+ Will merge to 'master'.
89
231
-* js/mingw-open-in-gdb (2020-02-14) 1 commit
232
- (merged to 'next' on 2020-02-16 at 6670f36d73)
233
- + mingw: add a helper function to attach GDB to the current process
90
235
- Dev support.
91
+* jk/doc-diff-parallel (2020-02-18) 1 commit
92
+ (merged to 'next' on 2020-02-19 at 62b2264fca)
93
+ + doc-diff: use single-colon rule in rendering Makefile
94
95
+ Update to doc-diff.
96
238
-* js/rebase-i-with-colliding-hash (2020-01-23) 3 commits
239
- (merged to 'next' on 2020-02-07 at 670ba07c4d)
240
- + rebase -i: also avoid SHA-1 collisions with missingCommitsCheck
241
- + rebase -i: re-fix short SHA-1 collision
242
- + parse_insn_line(): improve error message when parsing failed
243
- (this branch is used by ag/edit-todo-drop-check.)
97
+ Will merge to 'master'.
98
245
- "git rebase -i" identifies existing commits in its todo file with
246
- their abbreviated object name, which could become ambigous as it
247
- goes to create new commits, and has a mechanism to avoid ambiguity
248
- in the main part of its execution. A few other cases however were
249
- not covered by the protection against ambiguity, which has been
250
- corrected.
99
100
+* jk/push-option-doc-markup-fix (2020-02-18) 1 commit
101
+ (merged to 'next' on 2020-02-19 at 975e00fa99)
102
+ + doc/config/push: use longer "--" line for preformatted example
103
253
-* js/test-avoid-pipe (2020-02-14) 1 commit
254
- (merged to 'next' on 2020-02-16 at 090cac9c23)
255
- + t9001, t9116: avoid pipes
104
+ Doc markup fix.
105
257
- Test clean-up.
106
+ Will merge to 'master'.
107
108
260
-* js/test-unc-fetch (2020-02-14) 1 commit
261
- (merged to 'next' on 2020-02-16 at a4ca01efef)
262
- + t5580: test cloning without file://, test fetching via UNC paths
109
+* ak/test-log-graph (2020-02-24) 2 commits
110
+ (merged to 'next' on 2020-02-25 at 2b68666ffa)
111
+ + lib-log-graph: consolidate colored graph cmp logic
112
+ + lib-log-graph: consolidate test_cmp_graph logic
113
264
- Test updates.
114
+ Test update.
115
116
+ Will merge to 'master'.
117
267
-* js/test-write-junit-xml-fix (2020-02-12) 1 commit
268
- (merged to 'next' on 2020-02-16 at 2deb247550)
269
- + tests: fix --write-junit-xml with subshells
118
271
- Testfix.
119
+* ds/partial-clone-fixes (2020-02-22) 2 commits
120
+ (merged to 'next' on 2020-02-25 at a26434bb7a)
121
+ + partial-clone: avoid fetching when looking for objects
122
+ + partial-clone: demonstrate bugs in partial fetch
123
124
+ Fix for a bug revealed by a recent change to make the protocol v2
125
+ the default.
126
274
-* jt/connectivity-check-optim-in-partial-clone (2020-01-30) 2 commits
275
- (merged to 'next' on 2020-02-07 at ca5102fa58)
276
- + fetch: forgo full connectivity check if --filter
277
- + connected: verify promisor-ness of partial clone
278
-
279
- Unneeded connectivity check is now disabled in a partial clone when
280
- fetching into it.
127
+ Will merge to 'master'.
128
129
283
-* kw/fsmonitor-watchman-racefix (2020-01-23) 4 commits
284
- (merged to 'next' on 2020-02-07 at 3c42195a34)
285
- + fsmonitor: update documentation for hook version and watchman hooks
286
- + fsmonitor: add fsmonitor hook scripts for version 2
287
- + fsmonitor: handle version 2 of the hooks that will use opaque token
288
- + fsmonitor: change last update timestamp on the index_state to opaque token
289
-
290
- A new version of fsmonitor-watchman hook has been introduced, to
291
- avoid races.
292
-
293
-
294
-* ld/p4-cleanup-processes (2020-01-30) 7 commits
295
- (merged to 'next' on 2020-02-07 at e8c573f01c)
296
- + git-p4: avoid leak of file handle when cloning
297
- + git-p4: check for access to remote host earlier
298
- + git-p4: cleanup better on error exit
299
- + git-p4: create helper function importRevisions()
300
- + git-p4: disable some pylint warnings, to get pylint output to something manageable
301
- + git-p4: add P4CommandException to report errors talking to Perforce
302
- + git-p4: make closeStreams() idempotent
303
-
304
- p4 updates.
305
-
130
+* pb/am-show-current-patch (2020-02-20) 5 commits
131
+ - am: support --show-current-patch=diff to retrieve .git/rebase-apply/patch
132
+ - am: support --show-current-patch=raw as a synonym for--show-current-patch
133
+ - am: convert "resume" variable to a struct
134
+ - parse-options: convert "command mode" to a flag
135
+ - parse-options: add testcases for OPT_CMDMODE()
136
307
-* mr/show-config-scope (2020-02-10) 10 commits
308
- (merged to 'next' on 2020-02-11 at 904bca086e)
309
- + config: add '--show-scope' to print the scope of a config value
310
- + submodule-config: add subomdule config scope
311
- + config: teach git_config_source to remember its scope
312
- + config: preserve scope in do_git_config_sequence
313
- + config: clarify meaning of command line scoping
314
- + config: split repo scope to local and worktree
315
- + config: make scope_name non-static and rename it
316
- + t1300: create custom config file without special characters
317
- + t1300: fix over-indented HERE-DOCs
318
- + config: fix typo in variable name
319
- (this branch is used by bw/remote-rename-update-config and es/bugreport.)
137
+ "git am --short-current-patch" is a way to show the piece of e-mail
138
+ for the stopped step, which is not suitable to directly feed "git
139
+ apply" (it is designed to be a good "git am" input). It learned a
140
+ new option to show only the patch part.
141
321
- "git config" learned to show in which "scope", in addition to in
322
- which file, each config setting comes from.
142
143
+* bc/wildcard-credential (2020-02-20) 5 commits
144
+ (merged to 'next' on 2020-02-25 at ba3706cb90)
145
+ + credential: allow wildcard patterns when matching config
146
+ + credential: use the last matching username in the config
147
+ + t0300: add tests for some additional cases
148
+ + t1300: add test for urlmatch with multiple wildcards
149
+ + mailmap: add an additional email address for brian m. carlson
150
325
-* mt/threaded-grep-in-object-store (2020-01-17) 12 commits
326
- (merged to 'next' on 2020-02-07 at e86bab09e1)
327
- + grep: use no. of cores as the default no. of threads
328
- + grep: move driver pre-load out of critical section
329
- + grep: re-enable threads in non-worktree case
330
- + grep: protect packed_git [re-]initialization
331
- + grep: allow submodule functions to run in parallel
332
- + submodule-config: add skip_if_read option to repo_read_gitmodules()
333
- + grep: replace grep_read_mutex by internal obj read lock
334
- + object-store: allow threaded access to object reading
335
- + replace-object: make replace operations thread-safe
336
- + grep: fix racy calls in grep_objects()
337
- + grep: fix race conditions at grep_submodule()
338
- + grep: fix race conditions on userdiff calls
339
-
340
- Traditionally, we avoided threaded grep while searching in objects
341
- (as opposed to files in the working tree) as accesses to the object
342
- layer is not thread-safe. This limitation is getting lifted.
151
+ A configuration element used for credential subsystem can now use
152
+ wildcard pattern to specify for which set of URLs the entry
153
+ applies.
154
155
+ Will merge to 'master'.
156
345
-* mt/use-passed-repo-more-in-funcs (2020-01-31) 7 commits
346
- (merged to 'next' on 2020-02-07 at 536709ab4b)
347
- + sha1-file: allow check_object_signature() to handle any repo
348
- + sha1-file: pass git_hash_algo to hash_object_file()
349
- + sha1-file: pass git_hash_algo to write_object_file_prepare()
350
- + streaming: allow open_istream() to handle any repo
351
- + pack-check: use given repo's hash_algo at verify_packfile()
352
- + cache-tree: use given repo's hash_algo at verify_one()
353
- + diff: make diff_populate_filespec() honor its repo argument
157
355
- Some codepaths were given a repository instance as a parameter to
356
- work in the repository, but passed the_repository instance to its
357
- callees, which has been cleaned up (somewhat).
158
+* es/recursive-single-branch-clone (2020-02-25) 2 commits
159
+ - clone: pass --single-branch during --recurse-submodules
160
+ - submodule--helper: use C99 named initializer
161
+
162
+ "git clone --recurse-submodules --single-branch" now uses the same
163
+ simgle-branch option when cloning the submodules.
164
+
165
+ Will merge to 'next'.
166
+
167
+
168
+* jc/describe-misnamed-annotated-tag (2020-02-20) 1 commit
169
+ - describe: force long format for a name based on a mislocated tag
170
+
171
+ When "git describe C" finds an annotated tag with tagname A to be
172
+ the best name to explain commit C, and the tag is stored in a
173
+ "wrong" place in the refs/tags hierarchy, e.g. refs/tags/B, the
174
+ command gave a warning message but used A (not B) to describe C.
175
+ If C is exactly at the tag, the desribe output would be "A", but
176
+ "git rev-parse A^0" would not be equal as "git rev-parse C^0". The
177
+ behaviour of the command has been changed to use the "long" form
178
+ i.e. A-0-gOBJECTNAME, which is correctly interpreted by rev-parse.
179
+
180
+
181
+* jk/run-command-formatfix (2020-02-22) 1 commit
182
+ (merged to 'next' on 2020-02-25 at 39ad6eeb86)
183
+ + run-command.h: fix mis-indented struct member
184
+
185
+ Code style cleanup.
186
+
187
+ Will merge to 'master'.
188
359
-
360
-* pk/status-of-uncloned-submodule (2020-02-04) 3 commits
361
- (merged to 'next' on 2020-02-07 at f6349f5f5f)
362
- + t7400: testcase for submodule status on unregistered inner git repos
363
- + submodule: fix status of initialized but not cloned submodules
364
- + t7400: add a testcase for submodule status on empty dirs
365
-
366
- The way "git submodule status" reports an initialized but not yet
367
- populated submodule has not been reimplemented correctly when a
368
- part of the "git submodule" command was rewritten in C, which has
189
+
190
+* jn/reftable-doc (2020-02-22) 1 commit
191
+ (merged to 'next' on 2020-02-25 at e128adbaf6)
192
+ + reftable: file format documentation
193
+
194
+ Doc update, in preparation for adding the reftable feature.
195
+
196
+ Will merge to 'master'.
197
+
198
+
199
+* pb/recurse-submodules-fix (2020-02-19) 6 commits
200
+ - t/lib-submodule-update: add test removing nested submodules
201
+ - unpack-trees: check for missing submodule directory in merged_entry
202
+ - unpack-trees: remove outdated description for verify_clean_submodule
203
+ - t/lib-submodule-update: move a test to the right section
204
+ - t/lib-submodule-update: remove outdated test description
205
+ - t7112: remove mention of KNOWN_FAILURE_SUBMODULE_RECURSIVE_NESTED
206
+
207
+
208
+* rj/t1050-use-test-path-is-file (2020-02-24) 1 commit
209
+ - t1050: replace test -f with test_path_is_file
210
+
211
+ Code cleanup.
212
+
213
+ Almost there.
214
+
215
+
216
+* bc/sha-256-part-1-of-4 (2020-02-25) 25 commits
217
+ - SQUASH???
218
+ - fast-import: add options for rewriting submodules
219
+ - fast-import: add a generic function to iterate over marks
220
+ - fast-import: make find_marks work on any mark set
221
+ - fast-import: add helper function for inserting mark object entries
222
+ - fast-import: permit reading multiple marks files
223
+ - tag: store SHA-256 signatures in a header
224
+ - gpg-interface: improve interface for parsing tags
225
+ - commit: use expected signature header for SHA-256
226
+ - worktree: allow repository version 1
227
+ - init-db: move writing repo version into a function
228
+ - builtin/init-db: add environment variable for new repo hash
229
+ - builtin/init-db: allow specifying hash algorithm on command line
230
+ - setup: allow check_repository_format to read repository format
231
+ - t/helper: make repository tests hash independent
232
+ - t/helper: initialize repository if necessary
233
+ - t/helper/test-dump-split-index: initialize git repository
234
+ - t6300: make hash algorithm independent
235
+ - t6300: abstract away SHA-1-specific constants
236
+ - t: use hash-specific lookup tables to define test constants
237
+ - repository: require a build flag to use SHA-256
238
+ - hex: add functions to parse hex object IDs in any algorithm
239
+ - hex: introduce parsing variants taking hash algorithms
240
+ - hash: implement and use a context cloning function
241
+ - builtin/pack-objects: make hash agnostic
242
+
243
+
244
+* es/do-not-let-rebase-switch-to-protected-branch (2020-02-24) 2 commits
245
+ - rebase: refuse to switch to branch already checked out elsewhere
246
+ - t3400: make test clean up after itself
247
+
248
+ "git rebase BASE BRANCH" rebased/updated the tip of BRANCH and
249
+ checked it out, even when the BRANCH is checked out in a different
250
+ worktree. This has been corrected.
251
+
252
+ Will merge to 'next'.
253
+
254
+
255
+* es/worktree-avoid-duplication-fix (2020-02-24) 3 commits
256
+ (merged to 'next' on 2020-02-25 at 74c612837a)
257
+ + worktree: don't allow "add" validation to be fooled by suffix matching
258
+ + worktree: add utility to find worktree by pathname
259
+ + worktree: improve find_worktree() documentation
260
+
261
+ "git worktree add" used to get confused that the director to be
262
+ used to add a new worktreey, when given as a relative path, is
263
+ different from an existing one. This has been corrected.
264
+
265
+ Will merge to 'master'.
266
+
267
+
268
+* es/worktree-cleanup (2020-02-24) 1 commit
269
+ (merged to 'next' on 2020-02-25 at 59bc458bcd)
270
+ + worktree: drop unused code from get_main_worktree()
271
+
272
+ Code cleanup.
273
+
274
+ Will merge to 'master'.
275
+
276
+
277
+* hv/receive-denycurrent-everywhere (2020-02-24) 3 commits
278
+ (merged to 'next' on 2020-02-25 at 84e35c4980)
279
+ + receive.denyCurrentBranch: respect all worktrees
280
+ + t5509: use a bare repository for test push target
281
+ + get_main_worktree(): allow it to be called in the Git directory
282
+
283
+ "git push" should stop from updating a branch that is checked out
284
+ when receive.denyCurrentBranch configuration is set, but it failed
285
+ to pay attention to checkouts in secondary worktrees. This has
286
been corrected.
287
288
+ Will merge to 'master'.
289
372
-* rs/name-rev-memsave (2020-02-05) 11 commits
373
- (merged to 'next' on 2020-02-11 at 17616cb9b1)
374
- + name-rev: sort tip names before applying
375
- + name-rev: release unused name strings
376
- + name-rev: generate name strings only if they are better
377
- + name-rev: pre-size buffer in get_parent_name()
378
- + name-rev: factor out get_parent_name()
379
- + name-rev: put struct rev_name into commit slab
380
- + name-rev: don't _peek() in create_or_update_name()
381
- + name-rev: don't leak path copy in name_ref()
382
- + name-rev: respect const qualifier
383
- + name-rev: remove unused typedef
384
- + name-rev: rewrite create_or_update_name()
290
386
- Memory footprint and performance of "git name-rev" has been
387
- improved.
291
+* jk/nth-packed-object-id (2020-02-24) 10 commits
292
+ - packfile: drop nth_packed_object_sha1()
293
+ - packed_object_info(): use object_id internally for delta base
294
+ - packed_object_info(): use object_id for returning delta base
295
+ - pack-check: push oid lookup into loop
296
+ - pack-check: convert "internal error" die to a BUG()
297
+ - pack-bitmap: use object_id when loading on-disk bitmaps
298
+ - pack-objects: use object_id struct in pack-reuse code
299
+ - pack-objects: convert oe_set_delta_ext() to use object_id
300
+ - pack-objects: read delta base oid into object_id struct
301
+ - nth_packed_object_oid(): use customary integer return
302
303
+ Code cleanup to use "struct object_id" more by replacing use of
304
+ "char *sha1"
305
390
-* rs/parse-options-concat-dup (2020-02-10) 4 commits
391
- (merged to 'next' on 2020-02-11 at a1685687ab)
392
- + parse-options: simplify parse_options_dup()
393
- + parse-options: const parse_options_concat() parameters
394
- + parse-options: factor out parse_options_count()
395
- + parse-options: use COPY_ARRAY in parse_options_concat()
306
+ Will merge to 'next'.
307
397
- Code clean-up.
308
309
+* kk/complete-diff-color-moved (2020-02-24) 1 commit
310
+ - completion: add diff --color-moved[-ws]
311
400
-* rs/strbuf-insertstr (2020-02-10) 2 commits
401
- (merged to 'next' on 2020-02-11 at 5c89aa002f)
402
- + mailinfo: don't insert header prefix for handle_content_type()
403
- + strbuf: add and use strbuf_insertstr()
404
- (this branch is used by jk/mailinfo-cleanup.)
312
+ Completion update.
313
406
- Code clean-up.
314
+ Will merge to 'next'.
315
316
409
-* tb/commit-graph-object-dir (2020-02-04) 5 commits
410
- (merged to 'next' on 2020-02-07 at 5c85173df4)
411
- + commit-graph.h: use odb in 'load_commit_graph_one_fd_st'
412
- + commit-graph.c: remove path normalization, comparison
413
- + commit-graph.h: store object directory in 'struct commit_graph'
414
- + commit-graph.h: store an odb in 'struct write_commit_graph_context'
415
- + t5318: don't pass non-object directory to '--object-dir'
416
- (this branch is used by tb/commit-graph-split-merge.)
317
+* ma/test-cleanup (2020-02-24) 3 commits
318
+ (merged to 'next' on 2020-02-25 at ce00c705a9)
319
+ + t: drop debug `cat` calls
320
+ + t9810: drop debug `cat` call
321
+ + t4117: check for files using `test_path_is_file`
322
418
- The code to compute the commit-graph has been taught to use a more
419
- robust way to tell if two object directories refer to the same
420
- thing.
323
+ Code cleanup.
324
422
---------------------------------------------------
423
-[New Topics]
325
+ Will merge to 'master'.
326
425
-* jk/object-filter-with-bitmap (2020-02-14) 15 commits
426
- (merged to 'next' on 2020-02-16 at 42425c3658)
427
- + pack-objects: support filters with bitmaps
428
- + pack-bitmap: implement BLOB_LIMIT filtering
429
- + pack-bitmap: implement BLOB_NONE filtering
430
- + bitmap: add bitmap_unset() function
431
- + rev-list: use bitmap filters for traversal
432
- + pack-bitmap: basic noop bitmap filter infrastructure
433
- + rev-list: allow commit-only bitmap traversals
434
- + t5310: factor out bitmap traversal comparison
435
- + rev-list: allow bitmaps when counting objects
436
- + rev-list: make --count work with --objects
437
- + rev-list: factor out bitmap-optimized routines
438
- + pack-bitmap: refuse to do a bitmap traversal with pathspecs
439
- + rev-list: fallback to non-bitmap traversal when filtering
440
- + pack-bitmap: fix leak of haves/wants object lists
441
- + pack-bitmap: factor out type iterator initialization
327
443
- The object reachability bitmap machinery and the partial cloning
444
- machinery were not prepared to work well together, because some
445
- object-filtering criteria partial clones use inherently rely on
446
- object traversal, but the bitmap machinery is an optimization to
447
- bypass that object traversal. There however are some cases that
448
- they can work together, and they were taught about this case.
328
+* rs/blame-typefix-for-fingerprint (2020-02-24) 1 commit
329
+ (merged to 'next' on 2020-02-25 at 496309f50a)
330
+ + blame: provide type of fingerprints pointer
331
+
332
+ Code cleanup.
333
334
Will merge to 'master'.
335
336
453
-* hw/advise-ng (2020-02-16) 2 commits
454
- - advice: extract vadvise() from advise()
455
- - advice: refactor advise API
337
+* rs/micro-cleanups (2020-02-24) 2 commits
338
+ (merged to 'next' on 2020-02-25 at eaa8fd097b)
339
+ + use strpbrk(3) to search for characters from a given set
340
+ + quote: use isalnum() to check for alphanumeric characters
341
457
- Revamping of the advise API to allow more systematic enumeration of
458
- advice knobs in the future.
342
+ Code cleanup.
343
+
344
+ Will merge to 'master'.
345
+
346
+
347
+* be/describe-multiroot (2020-02-25) 1 commit
348
+ - describe: dont abort too early when searching tags
349
+
350
+ "git describe" in a repository with multiple root commits sometimes
351
+ gave up looking for the best tag to describe a given commit with
352
+ too early, which has been adjusted.
353
354
--------------------------------------------------
355
[Stalled]
@@ -477,6 +371,7 @@ of the repositories listed at
371
372
What's the status of this one?
373
The tip two are still RFC.
374
+ cf. <CABPp-BE_ktNmDB43N_qijzYzhXvsK8Fi7TJQ7goHu+MzGvdpBQ@mail.gmail.com>
375
376
377
* vn/reset-deleted-ita (2019-07-26) 1 commit
@@ -498,7 +393,50 @@ of the repositories listed at
393
--------------------------------------------------
394
[Cooking]
395
501
-* ds/sparse-add (2020-02-11) 4 commits
396
+* jk/object-filter-with-bitmap (2020-02-18) 16 commits
397
+ (merged to 'next' on 2020-02-19 at d38487e23d)
398
+ + rev-list --count: comment on the use of count_right++
399
+ (merged to 'next' on 2020-02-16 at 42425c3658)
400
+ + pack-objects: support filters with bitmaps
401
+ + pack-bitmap: implement BLOB_LIMIT filtering
402
+ + pack-bitmap: implement BLOB_NONE filtering
403
+ + bitmap: add bitmap_unset() function
404
+ + rev-list: use bitmap filters for traversal
405
+ + pack-bitmap: basic noop bitmap filter infrastructure
406
+ + rev-list: allow commit-only bitmap traversals
407
+ + t5310: factor out bitmap traversal comparison
408
+ + rev-list: allow bitmaps when counting objects
409
+ + rev-list: make --count work with --objects
410
+ + rev-list: factor out bitmap-optimized routines
411
+ + pack-bitmap: refuse to do a bitmap traversal with pathspecs
412
+ + rev-list: fallback to non-bitmap traversal when filtering
413
+ + pack-bitmap: fix leak of haves/wants object lists
414
+ + pack-bitmap: factor out type iterator initialization
415
+
416
+ The object reachability bitmap machinery and the partial cloning
417
+ machinery were not prepared to work well together, because some
418
+ object-filtering criteria partial clones use inherently rely on
419
+ object traversal, but the bitmap machinery is an optimization to
420
+ bypass that object traversal. There however are some cases that
421
+ they can work together, and they were taught about this case.
422
+
423
+ Will merge to 'master'.
424
+
425
+
426
+* hw/advise-ng (2020-02-25) 3 commits
427
+ - tag: use new advice API to check visibility
428
+ - advice: revamp advise API
429
+ - advice: extract vadvise() from advise()
430
+
431
+ Revamping of the advise API to allow more systematic enumeration of
432
+ advice knobs in the future.
433
+
434
+ Getting there, but not quite.
435
+
436
+
437
+* ds/sparse-add (2020-02-20) 5 commits
438
+ (merged to 'next' on 2020-02-25 at de68d14e77)
439
+ + sparse-checkout: allow one-character directories in cone mode
440
(merged to 'next' on 2020-02-14 at 3799757bbe)
441
+ sparse-checkout: work with Windows paths
442
+ sparse-checkout: create 'add' subcommand
@@ -521,7 +459,7 @@ of the repositories listed at
459
cf. <xmqq36dtwcvw.fsf@gitster-ct.c.googlers.com>
460
461
524
-* hn/reftable (2020-02-10) 5 commits
462
+* hn/reftable (2020-02-18) 5 commits
463
. Reftable support for git-core
464
. Add reftable library
465
. refs: document how ref_iterator_advance_fn should handle symrefs
@@ -533,10 +471,11 @@ of the repositories listed at
471
has been implemented and integrated for improved performance and
472
atomicity.
473
536
- At v5.
474
+ Temporarily ejected as this unfortunately conflicts with the
475
+ SHA-256 topic.
476
477
539
-* es/bugreport (2020-02-14) 15 commits
478
+* es/bugreport (2020-02-20) 15 commits
479
- bugreport: summarize contents of alternates file
480
- bugreport: list contents of $OBJDIR/info
481
- bugreport: add packed object summary
@@ -555,8 +494,6 @@ of the repositories listed at
494
495
The "bugreport" tool.
496
558
- at v7.
559
-
497
498
* gs/commit-graph-path-filter (2020-02-12) 12 commits
499
- (bytesex breakage band-aid)
@@ -580,65 +517,27 @@ of the repositories listed at
517
Breakage due to byte-order dependency reported.
518
519
583
-* mr/bisect-in-c-1 (2020-02-10) 13 commits
584
- - bisect: libify `bisect_next_all`
585
- - bisect: libify `handle_bad_merge_base` and its dependents
586
- - bisect: libify `check_good_are_ancestors_of_bad` and its dependents
587
- - bisect: libify `check_merge_bases` and its dependents
588
- - bisect: libify `bisect_checkout`
589
- - bisect: libify `exit_if_skipped_commits` to `error_if_skipped*` and its dependents
590
- - bisect--helper: return error codes from `cmd_bisect__helper()`
591
- - bisect: add enum to represent bisect returning codes
592
- - bisect--helper: introduce new `decide_next()` function
593
- - run-command: make `exists_in_PATH()` non-static
594
- - bisect: use the standard 'if (!var)' way to check for 0
595
- - bisect--helper: change `retval` to `res`
596
- - bisect--helper: convert `vocab_*` char pointers to char arrays
520
+* mr/bisect-in-c-1 (2020-02-19) 12 commits
521
+ (merged to 'next' on 2020-02-25 at 7e9e7950fd)
522
+ + bisect: libify `bisect_next_all`
523
+ + bisect: libify `handle_bad_merge_base` and its dependents
524
+ + bisect: libify `check_good_are_ancestors_of_bad` and its dependents
525
+ + bisect: libify `check_merge_bases` and its dependents
526
+ + bisect: libify `bisect_checkout`
527
+ + bisect: libify `exit_if_skipped_commits` to `error_if_skipped*` and its dependents
528
+ + bisect--helper: return error codes from `cmd_bisect__helper()`
529
+ + bisect: add enum to represent bisect returning codes
530
+ + bisect--helper: introduce new `decide_next()` function
531
+ + bisect: use the standard 'if (!var)' way to check for 0
532
+ + bisect--helper: change `retval` to `res`
533
+ + bisect--helper: convert `vocab_*` char pointers to char arrays
534
535
Underlying machinery of "git bisect--helper" is being refactored
536
into pieces that are more easily reused.
537
601
-
602
-* bw/remote-rename-update-config (2020-02-10) 6 commits
603
- (merged to 'next' on 2020-02-14 at 30b1a477de)
604
- + remote rename/remove: gently handle remote.pushDefault config
605
- + config: provide access to the current line number
606
- + remote rename/remove: handle branch.<name>.pushRemote config values
607
- + remote: clean-up config callback
608
- + remote: clean-up by returning early to avoid one indentation
609
- + pull --rebase/remote rename: document and honor single-letter abbreviations rebase types
610
-
611
- "git remote rename X Y" needs to adjust configuration variables
612
- (e.g. branch.<name>.remote) whose value used to be X to Y.
613
- branch.<name>.pushRemote is now also updated.
614
-
615
- Will merge to 'master'.
616
-
617
-
618
-* es/bright-colors (2020-02-11) 3 commits
619
- (merged to 'next' on 2020-02-14 at cc17dbc7e8)
620
- + color.c: alias RGB colors 8-15 to aixterm colors
621
- + color.c: support bright aixterm colors
622
- + color.c: refactor color_output arguments
623
-
624
- The basic 7 colors learned the brighter counterparts
625
- (e.g. "brightred").
626
-
538
Will merge to 'master'.
539
540
630
-* es/doc-mentoring (2020-02-14) 2 commits
631
- (merged to 'next' on 2020-02-17 at e3f3e316eb)
632
- + MyFirstContribution: rephrase contact info
633
- (merged to 'next' on 2020-02-05 at 3b05aabbcd)
634
- + MyFirstContribution: add avenues for getting help
635
-
636
- Doc for new contributors.
637
-
638
- Will merge to 'master'.
639
- cf. <xmqqr1yxnkab.fsf@gitster-ct.c.googlers.com>
640
-
641
-
541
* bk/p4-pre-edit-changelist (2020-02-14) 7 commits
542
- git-p4: add RCS keyword status message
543
- git-p4: add p4 submit hooks
@@ -667,7 +566,8 @@ of the repositories listed at
566
made its performance characteristics exponential wrt the depth of
567
the tree, which was corrected.
568
670
- Still RFC?
569
+ Expecting an update.
570
+ cf. <CABPp-BEnt4C_7XyxQKxk4aga=JjM9fXCE-7SFp7azO_v5-pQYw@mail.gmail.com>
571
cf. <pull.700.v2.git.git.1580495486.gitgitgadget@gmail.com>
572
cf. <CABPp-BF0SO92wxY-dM14Vxv6BGA5=T=CicdwbiaZ7c9w6-j2jQ@mail.gmail.com>
573
@@ -685,7 +585,7 @@ of the repositories listed at
585
cf. <20200212205028.GE4364@syl.local>
586
587
688
-* am/pathspec-f-f-more (2020-02-10) 8 commits
588
+* am/pathspec-f-f-more (2020-02-19) 8 commits
589
- stash push: support the --pathspec-from-file option
590
- stash: eliminate crude option parsing
591
- doc: stash: synchronize <pathspec> description
@@ -743,36 +643,54 @@ of the repositories listed at
643
Update "git p4" to work with Python 3.
644
645
Hold.
746
- Waiting for SoB on the last step.
646
+ Waiting for SoB from Szeder on the last step.
647
cf. <xmqqk14qqj7n.fsf@gitster-ct.c.googlers.com>
648
649
650
* en/rebase-backend (2020-02-16) 20 commits
751
- - rebase: rename the two primary rebase backends
752
- - rebase: change the default backend from "am" to "merge"
753
- - rebase: make the backend configurable via config setting
754
- - rebase tests: repeat some tests using the merge backend instead of am
755
- - rebase tests: mark tests specific to the am-backend with --am
756
- - rebase: drop '-i' from the reflog for interactive-based rebases
757
- - git-prompt: change the prompt for interactive-based rebases
758
- - rebase: add an --am option
759
- - rebase: move incompatibility checks between backend options a bit earlier
760
- - git-rebase.txt: add more details about behavioral differences of backends
761
- - rebase: allow more types of rebases to fast-forward
762
- - t3432: make these tests work with either am or merge backends
763
- - rebase: fix handling of restrict_revision
764
- - rebase: make sure to pass along the quiet flag to the sequencer
765
- - rebase, sequencer: remove the broken GIT_QUIET handling
766
- - t3406: simplify an already simple test
767
- - rebase (interactive-backend): fix handling of commits that become empty
768
- - rebase (interactive-backend): make --keep-empty the default
769
- - t3404: directly test the behavior of interest
770
- - git-rebase.txt: update description of --allow-empty-message
651
+ (merged to 'next' on 2020-02-22 at cae5eb0f18)
652
+ + rebase: rename the two primary rebase backends
653
+ + rebase: change the default backend from "am" to "merge"
654
+ + rebase: make the backend configurable via config setting
655
+ + rebase tests: repeat some tests using the merge backend instead of am
656
+ + rebase tests: mark tests specific to the am-backend with --am
657
+ + rebase: drop '-i' from the reflog for interactive-based rebases
658
+ + git-prompt: change the prompt for interactive-based rebases
659
+ + rebase: add an --am option
660
+ + rebase: move incompatibility checks between backend options a bit earlier
661
+ + git-rebase.txt: add more details about behavioral differences of backends
662
+ + rebase: allow more types of rebases to fast-forward
663
+ + t3432: make these tests work with either am or merge backends
664
+ + rebase: fix handling of restrict_revision
665
+ + rebase: make sure to pass along the quiet flag to the sequencer
666
+ + rebase, sequencer: remove the broken GIT_QUIET handling
667
+ + t3406: simplify an already simple test
668
+ + rebase (interactive-backend): fix handling of commits that become empty
669
+ + rebase (interactive-backend): make --keep-empty the default
670
+ + t3404: directly test the behavior of interest
671
+ + git-rebase.txt: update description of --allow-empty-message
672
673
"git rebase" has learned to use the sequencer backend by default,
674
while allowing "--am" option to go back to the traditional "am"
675
backend.
676
776
- The last step may be rushing things a bit and may want to be
777
- taken separately.
778
- cf. <pull.679.v5.git.git.1581802602.gitgitgadget@gmail.com>
677
+ Will merge to 'master'.
678
+ cf. <CABPp-BEnt4C_7XyxQKxk4aga=JjM9fXCE-7SFp7azO_v5-pQYw@mail.gmail.com>
679
+
680
+--------------------------------------------------
681
+[Discarded]
682
+
683
+* mt/describe-misnamed-annotated-tag (2020-02-18) 1 commit
684
+ . describe: output tag's ref instead of embedded name
685
+
686
+ When "git describe C" finds an annotated tag with tagname A to be
687
+ the best name to explain commit C, and the tag is stored in a
688
+ "wrong" place in the refs/tags hierarchy, e.g. refs/tags/B, the
689
+ command gave a warning message but used A (not B) to describe C.
690
+ If C is exactly at the tag, the desribe output would be "A", but
691
+ "git rev-parse A^0" would not be equal as "git rev-parse C^0". The
692
+ behaviour of the command has been changed to use "B" to describe C
693
+ instead.
694
+
695
+ This is not the only possible approach for the issue, and it is
696
+ unknown if the proposed solution is the best one.