What's cooking (2018/07 #01)
Junio C Hamano committed
Jul 11, 2018 at 12:00 UTC
2955b71caa16f859e56e78590dd43630b28374e4
1 file changed
+705
-319
whats-cooking.txt
+705
-319
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Jun 2018, #07; Thu, 28)
3
+Subject: What's cooking in git.git (Jul 2018, #01; Wed, 11)
4
X-master-at: e3331758f12da22f4103eec7efe1b5304a9be5e9
5
-X-next-at: 9cd7c0d54aa2ac12712fd5611825c618efdaf1e0
5
+X-next-at: 985f88cf7ec28de3542ce98ac5b660da6e59caf0
6
7
-What's cooking in git.git (Jun 2018, #07; Thu, 28)
7
+What's cooking in git.git (Jul 2018, #01; Wed, 11)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -23,267 +23,455 @@ of the repositories listed at
23
http://git-blame.blogspot.com/p/git-public-repositories.html
24
25
--------------------------------------------------
26
-[Graduated to "master"]
26
+[New Topics]
27
28
-* ab/refspec-init-fix (2018-06-11) 3 commits
29
- (merged to 'next' on 2018-06-13 at 91d71d8435)
30
- + refspec: initalize `refspec_item` in `valid_fetch_refspec()`
31
- + refspec: add back a refspec_item_init() function
32
- + refspec: s/refspec_item_init/&_or_die/g
28
+* ag/rebase-i-in-c (2018-07-10) 13 commits
29
+ - rebase -i: rewrite the rest of init_revisions_and_shortrevisions in C
30
+ - rebase -i: implement the logic to initialize the variable $revision in C
31
+ - rebase--interactive: remove unused modes and functions
32
+ - rebase--interactive: rewrite complete_action() in C
33
+ - sequencer: change the way skip_unnecessary_picks() returns its result
34
+ - sequencer: refactor append_todo_help() to write its message to a buffer
35
+ - rebase -i: rewrite checkout_onto() in C
36
+ - rebase -i: rewrite setup_reflog_action() in C
37
+ - sequencer: add a new function to silence a command, except if it fails
38
+ - rebase-interactive: rewrite the edit-todo functionality in C
39
+ - editor: add a function to launch the sequence editor
40
+ - rebase--interactive: rewrite append_todo_help() in C
41
+ - sequencer: make two functions and an enum from sequencer.c public
42
34
- Make refspec parsing codepath more robust.
43
+ Piecemeal rewrite of the remaining "rebase -i" machinery in C.
44
45
+ Expecting a reroll.
46
37
-* as/safecrlf-quiet-fix (2018-06-11) 1 commit
38
- (merged to 'next' on 2018-06-13 at b163674843)
39
- + config.c: fix regression for core.safecrlf false
47
+ The early parts of the series seem solidifying; perhaps with a
48
+ reroll or two, they become 'next' material?
49
41
- Fix for 2.17-era regression around `core.safecrlf`.
50
51
+* en/apply-comment-fix (2018-06-28) 1 commit
52
+ - apply: fix grammar error in comment
53
44
-* jc/clean-after-sanity-tests (2018-06-15) 1 commit
45
- (merged to 'next' on 2018-06-22 at 2df77b8af9)
46
- + tests: clean after SANITY tests
54
+ Will merge to 'next'.
55
48
- test cleanup.
56
57
+* en/t5407-rebase-m-fix (2018-06-28) 1 commit
58
+ - t5407: fix test to cover intended arguments
59
51
-* jh/partial-clone (2018-06-12) 1 commit
52
- (merged to 'next' on 2018-06-13 at 818f864b0c)
53
- + list-objects: check if filter is NULL before using
60
+ Will merge to 'next'.
61
55
- The recent addition of "partial clone" experimental feature kicked
56
- in when it shouldn't, namely, when there is no partial-clone filter
57
- defined even if extensions.partialclone is set.
62
63
+* sb/mailmap (2018-06-29) 1 commit
64
+ (merged to 'next' on 2018-07-11 at d9dc53e374)
65
+ + .mailmap: merge different spellings of names
66
60
-* jk/fetch-all-peeled-fix (2018-06-13) 2 commits
61
- (merged to 'next' on 2018-06-13 at 1333bb9d90)
62
- + fetch-pack: test explicitly that --all can fetch tag references pointing to non-commits
63
- + fetch-pack: don't try to fetch peel values with --all
67
+ Will merge to 'master'.
68
65
- "git fetch-pack --all" used to unnecessarily fail upon seeing an
66
- annotated tag that points at an object other than a commit.
69
70
+* sb/object-store-lookup (2018-06-29) 33 commits
71
+ - commit.c: allow lookup_commit_reference to handle arbitrary repositories
72
+ - commit.c: allow lookup_commit_reference_gently to handle arbitrary repositories
73
+ - tag.c: allow deref_tag to handle arbitrary repositories
74
+ - object.c: allow parse_object to handle arbitrary repositories
75
+ - object.c: allow parse_object_buffer to handle arbitrary repositories
76
+ - commit.c: allow get_cached_commit_buffer to handle arbitrary repositories
77
+ - commit.c: allow set_commit_buffer to handle arbitrary repositories
78
+ - commit.c: migrate the commit buffer to the parsed object store
79
+ - commit-slabs: remove realloc counter outside of slab struct
80
+ - commit.c: allow parse_commit_buffer to handle arbitrary repositories
81
+ - tag: allow parse_tag_buffer to handle arbitrary repositories
82
+ - tag: allow lookup_tag to handle arbitrary repositories
83
+ - commit: allow lookup_commit to handle arbitrary repositories
84
+ - tree: allow lookup_tree to handle arbitrary repositories
85
+ - blob: allow lookup_blob to handle arbitrary repositories
86
+ - object: allow lookup_object to handle arbitrary repositories
87
+ - object: allow object_as_type to handle arbitrary repositories
88
+ - tag: add repository argument to deref_tag
89
+ - tag: add repository argument to parse_tag_buffer
90
+ - tag: add repository argument to lookup_tag
91
+ - commit: add repository argument to get_cached_commit_buffer
92
+ - commit: add repository argument to set_commit_buffer
93
+ - commit: add repository argument to parse_commit_buffer
94
+ - commit: add repository argument to lookup_commit
95
+ - commit: add repository argument to lookup_commit_reference
96
+ - commit: add repository argument to lookup_commit_reference_gently
97
+ - tree: add repository argument to lookup_tree
98
+ - blob: add repository argument to lookup_blob
99
+ - object: add repository argument to object_as_type
100
+ - object: add repository argument to parse_object_buffer
101
+ - object: add repository argument to lookup_object
102
+ - object: add repository argument to parse_object
103
+ - Merge branch 'sb/object-store-grafts' into sb/object-store-lookup
104
+ (this branch uses sb/object-store-grafts.)
105
+
106
+ lookup_commit_reference() and friends have been updated to find
107
+ in-core object for a specific in-core repository instance.
108
69
-* ms/send-pack-honor-config (2018-06-12) 1 commit
70
- (merged to 'next' on 2018-06-13 at e2cd933715)
71
- + builtin/send-pack: populate the default configs
109
+ Will merge to 'next'.
110
73
- "git send-pack --signed" (hence "git push --signed" over the http
74
- transport) did not read user ident from the config mechanism to
75
- determine whom to sign the push certificate as, which has been
76
- corrected.
111
112
+* ag/rebase-p (2018-07-06) 1 commit
113
+ - git-rebase--preserve-merges: fix formatting of todo help message
114
+
115
+ The help message shown in the editor to edit todo list in "rebase -p"
116
+ has regressed recently, which has been corrected.
117
+
118
+ Will merge to 'next'.
119
79
-* nd/completion-negation (2018-06-11) 3 commits
80
- (merged to 'next' on 2018-06-19 at a3be59b450)
81
- + completion: collapse extra --no-.. options
82
- + completion: suppress some -no- options
83
- + parse-options: option to let --git-completion-helper show negative form
120
85
- Continuing with the idea to programmatically enumerate various
86
- pieces of data required for command line completion, the codebase
87
- has been taught to enumerate options prefixed with "--no-" to
88
- negate them.
121
+* bb/pedantic (2018-07-09) 8 commits
122
+ - utf8.c: avoid char overflow
123
+ - string-list.c: avoid conversion from void * to function pointer
124
+ - sequencer.c: avoid empty statements at top level
125
+ - convert.c: replace "\e" escapes with "\033".
126
+ - fixup! refs/refs-internal.h: avoid forward declaration of an enum
127
+ - refs/refs-internal.h: avoid forward declaration of an enum
128
+ - fixup! connect.h: avoid forward declaration of an enum
129
+ - connect.h: avoid forward declaration of an enum
130
131
+ The codebase has been updated to compile cleanly with -pedantic
132
+ option.
133
91
-* pw/add-p-recount (2018-06-11) 1 commit
92
- (merged to 'next' on 2018-06-19 at 1880ecc3f1)
93
- + add -p: fix counting empty context lines in edited patches
134
+ Will merge to 'next'.
135
95
- When user edits the patch in "git add -p" and the user's editor is
96
- set to strip trailing whitespaces indiscriminately, an empty line
97
- that is unchanged in the patch would become completely empty
98
- (instead of a line with a sole SP on it). The code introduced in
99
- Git 2.17 timeframe failed to parse such a patch, but now it learned
100
- to notice the situation and cope with it.
136
137
+* bb/unicode-11-width (2018-07-09) 1 commit
138
+ - unicode: update the width tables to Unicode 11
139
103
-* sb/fix-fetching-moved-submodules (2018-06-14) 2 commits
104
- (merged to 'next' on 2018-06-22 at 16039dc62a)
105
- + t5526: test recursive submodules when fetching moved submodules
106
- + submodule: fix NULL correctness in renamed broken submodules
140
+ The character display width table has been updated to match the
141
+ latest Unicode standard.
142
108
- The code to try seeing if a fetch is necessary in a submodule
109
- during a fetch with --recurse-submodules got confused when the path
110
- to the submodule was changed in the range of commits in the
111
- superproject, sometimes showing "(null)". This has been corrected.
143
+ Will merge to 'next'.
144
145
114
-* sg/gpg-tests-fix (2018-06-11) 2 commits
115
- (merged to 'next' on 2018-06-13 at f3a05f1c41)
116
- + tests: make forging GPG signed commits and tags more robust
117
- + t7510-signed-commit: use 'test_must_fail'
146
+* bc/object-id (2018-07-09) 17 commits
147
+ - pretty: switch hard-coded constants to the_hash_algo
148
+ - sha1-file: convert constants to uses of the_hash_algo
149
+ - log-tree: switch GIT_SHA1_HEXSZ to the_hash_algo->hexsz
150
+ - diff: switch GIT_SHA1_HEXSZ to use the_hash_algo
151
+ - builtin/merge-recursive: make hash independent
152
+ - builtin/merge: switch to use the_hash_algo
153
+ - builtin/fmt-merge-msg: make hash independent
154
+ - builtin/update-index: simplify parsing of cacheinfo
155
+ - builtin/update-index: convert to using the_hash_algo
156
+ - refs/files-backend: use the_hash_algo for writing refs
157
+ - commit: increase commit message buffer size
158
+ - sha1-name: use the_hash_algo when parsing object names
159
+ - strbuf: allocate space with GIT_MAX_HEXSZ
160
+ - commit: express tree entry constants in terms of the_hash_algo
161
+ - hex: switch to using the_hash_algo
162
+ - tree-walk: replace hard-coded constants with the_hash_algo
163
+ - cache: update object ID functions for the_hash_algo
164
+
165
+ Conversion from uchar[40] to struct object_id continues.
166
119
- Some flaky tests have been fixed.
167
+ Expecting a reroll.
168
+ cf. <20180709232656.GA535220@genre.crustytoothpaste.net>
169
170
122
-* tz/cred-netrc-cleanup (2018-06-18) 4 commits
123
- (merged to 'next' on 2018-06-22 at a471dd714c)
124
- + git-credential-netrc: make "all" default target of Makefile
125
- + git-credential-netrc: fix exit status when tests fail
126
- + git-credential-netrc: use in-tree Git.pm for tests
127
- + git-credential-netrc: minor whitespace cleanup in test script
171
+* bc/send-email-auto-cte (2018-07-09) 4 commits
172
+ - docs: correct RFC specifying email line length
173
+ - send-email: automatically determine transfer-encoding
174
+ - send-email: accept long lines with suitable transfer encoding
175
+ - send-email: add an auto option for transfer encoding
176
129
- Build and test procedure for netrc credential helper (in contrib/)
130
- has been updated.
177
+ The content-transfer-encoding of the message "git send-email" sends
178
+ out by default was 8bit, which can cause trouble when there is an
179
+ overlong line to bust RFC 5322/2822 limit. A new option 'auto' to
180
+ automatically switch to quoted-printable when there is such a line
181
+ in the payload has been introduced and is made the default.
182
132
---------------------------------------------------
133
-[New Topics]
183
+ Will merge to 'next'.
184
135
-* ao/config-from-gitmodules (2018-06-26) 6 commits
136
- - submodule-config: reuse config_from_gitmodules in repo_read_gitmodules
137
- - submodule-config: pass repository as argument to config_from_gitmodules
138
- - submodule-config: make 'config_from_gitmodules' private
139
- - submodule-config: add helper to get 'update-clone' config from .gitmodules
140
- - submodule-config: add helper function to get 'fetch' config from .gitmodules
141
- - config: move config_from_gitmodules to submodule-config.c
185
143
- Tighten the API to make it harder to misuse in-tree .gitmodules
144
- file, even though it shares the same syntax with configuration
145
- files, to read random configuration items from it.
186
+* en/dirty-merge-fixes (2018-07-11) 9 commits
187
+ - merge: fix misleading pre-merge check documentation
188
+ - merge-recursive: enforce rule that index matches head before merging
189
+ - t6044: add more testcases with staged changes before a merge is invoked
190
+ - merge-recursive: fix assumption that head tree being merged is HEAD
191
+ - merge-recursive: make sure when we say we abort that we actually abort
192
+ - t6044: add a testcase for index matching head, when head doesn't match HEAD
193
+ - t6044: verify that merges expected to abort actually abort
194
+ - index_has_changes(): avoid assuming operating on the_index
195
+ - read-cache.c: move index_has_changes() from merge.c
196
+
197
+ The recursive merge strategy did not properly ensure there was no
198
+ change between HEAD and the index before performing its operation,
199
+ which has been corrected.
200
201
Will merge to 'next'.
202
203
150
-* as/sequencer-customizable-comment-char (2018-06-28) 1 commit
151
- - sequencer: use configured comment character
204
+* en/t6036-merge-recursive-tests (2018-07-11) 6 commits
205
+ - t6036: add a failed conflict detection case: regular files, different modes
206
+ - t6036: add a failed conflict detection case with conflicting types
207
+ - t6036: add a failed conflict detection case with submodule add/add
208
+ - t6036: add a failed conflict detection case with submodule modify/modify
209
+ - t6036: add a failed conflict detection case with symlink add/add
210
+ - t6036: add a failed conflict detection case with symlink modify/modify
211
153
- Honor core.commentchar when preparing the list of commits to replay
154
- in "rebase -i".
155
-
212
+ Tests to cover various conflicting cases have been added for
213
+ merge-recursive.
214
157
-* dj/runtime-prefix (2018-06-26) 1 commit
158
- - Makefile: tweak sed invocation
215
+ Will merge to 'next'.
216
160
- POSIX portability fix in Makefile to fix a glitch introduced a few
161
- releases ago.
217
+
218
+* en/t6036-recursive-corner-cases (2018-07-06) 1 commit
219
+ - t6036: add lots of detail for directory/file conflicts in recursive case
220
+
221
+ Tests to cover more D/F conflict cases have been added for
222
+ merge-recursive.
223
224
Will merge to 'next'.
225
226
166
-* ds/commit-graph (2018-06-28) 1 commit
167
- - commit-graph: fix documentation inconsistencies
227
+* en/t6042-insane-merge-rename-testcases (2018-07-03) 3 commits
228
+ - t6042: add testcase covering long chains of rename conflicts
229
+ - t6042: add testcase covering rename/rename(2to1)/delete/delete conflict
230
+ - t6042: add testcase covering rename/add/delete conflict type
231
169
- Docfix.
232
+ Various glitches in the heuristics of merge-recursive strategy have
233
+ been documented in new tests.
234
235
Will merge to 'next'.
236
237
+ I am not sure if there is a single "correct" answer everybody can
238
+ agree on for each of these "insane" cases, though.
239
174
-* en/rebase-i-microfixes (2018-06-27) 3 commits
175
- - git-rebase--merge: modernize "git-$cmd" to "git $cmd"
176
- - Fix use of strategy options with interactive rebases
177
- - t3418: add testcase showing problems with rebase -i and strategy options
240
+
241
+* en/t7405-recursive-submodule-conflicts (2018-07-11) 3 commits
242
+ - t7405: verify 'merge --abort' works after submodule/path conflicts
243
+ - t7405: add a directory/submodule conflict
244
+ - t7405: add a file/submodule conflict
245
+
246
+ Tests to cover conflict cases that involve submodules have been
247
+ added for merge-recursive.
248
249
Will merge to 'next'.
250
251
182
-* js/enhanced-version-info (2018-06-28) 1 commit
183
- - Makefile: fix the "built from commit" code
252
+* es/test-fixes (2018-07-03) 25 commits
253
+ - t9119: fix broken &&-chains
254
+ - t9000-t9999: fix broken &&-chains
255
+ - t7000-t7999: fix broken &&-chains
256
+ - t6000-t6999: fix broken &&-chains
257
+ - t5000-t5999: fix broken &&-chains
258
+ - t4000-t4999: fix broken &&-chains
259
+ - t3030: fix broken &&-chains
260
+ - t3000-t3999: fix broken &&-chains
261
+ - t2000-t2999: fix broken &&-chains
262
+ - t1000-t1999: fix broken &&-chains
263
+ - t0000-t0999: fix broken &&-chains
264
+ - t9814: simplify convoluted check that command correctly errors out
265
+ - t9001: fix broken "invoke hook" test
266
+ - t7810: use test_expect_code() instead of hand-rolled comparison
267
+ - t7400: fix broken "submodule add/reconfigure --force" test
268
+ - t7201: drop pointless "exit 0" at end of subshell
269
+ - t6036: fix broken "merge fails but has appropriate contents" tests
270
+ - t5505: modernize and simplify hard-to-digest test
271
+ - t5406: use write_script() instead of birthing shell script manually
272
+ - t5405: use test_must_fail() instead of checking exit code manually
273
+ - t/lib-submodule-update: fix "absorbing" test
274
+ - t: drop unnecessary terminating semicolon in subshell
275
+ - t: use sane_unset() rather than 'unset' with broken &&-chain
276
+ - t: use test_write_lines() instead of series of 'echo' commands
277
+ - t: use test_might_fail() instead of manipulating exit code manually
278
+
279
+ Test clean-up and corrections.
280
185
- Build fix.
281
+ Will merge to 'next'.
282
+
283
+
284
+* jk/empty-pick-fix (2018-07-11) 2 commits
285
+ - sequencer: don't say BUG on bogus input
286
+ - sequencer: handle empty-set cases consistently
287
+
288
+ Handling of an empty range by "git cherry-pick" was inconsistent
289
+ depending on how the range ended up to be empty, which has been
290
+ corrected.
291
292
Will merge to 'next'.
293
294
190
-* js/rebase-recreate-merge (2018-06-27) 1 commit
191
- - rebase: fix documentation formatting
295
+* jk/fetch-all-peeled-fix (2018-07-06) 1 commit
296
+ - t5500: prettify non-commit tag tests
297
193
- Docfix.
298
+ Test modernization.
299
300
Will merge to 'next'.
301
302
198
-* jt/connectivity-check-after-unshallow (2018-06-27) 1 commit
199
- - fetch: when deepening, check connectivity fully
303
+* jk/for-each-ref-icase (2018-07-03) 3 commits
304
+ - ref-filter: avoid backend filtering with --ignore-case
305
+ - for-each-ref: consistently pass WM_IGNORECASE flag
306
+ - t6300: add a test for --ignore-case
307
201
- "git fetch" failed to correctly validate the set of objects it
202
- received when making a shallow history deeper, which has been
203
- corrected.
308
+ The "--ignore-case" option of "git for-each-ref" (and its friends)
309
+ did not work correctly, which has been fixed.
310
311
+ Will merge to 'next'.
312
206
-* jt/fetch-nego-tip (2018-06-27) 1 commit
207
- - fetch-pack: support negotiation tip whitelist
208
- (this branch uses jt/fetch-pack-negotiator.)
313
210
- "git fetch" learned a new option "--negotiation-tip" to limit the
211
- set of commits it tells the other end as "have", to reduce wasted
212
- bandwidth and cycles, which would be helpful when the receiving
213
- repository has a lot of refs that have little to do with the
214
- history at the remote it is fetching from.
314
+* jk/fsck-gitmodules-gently (2018-07-03) 5 commits
315
+ - fsck: silence stderr when parsing .gitmodules
316
+ - fsck: silence stderr when parsing .gitmodules
317
+ - config: add options parameter to git_config_from_mem
318
+ - config: add CONFIG_ERROR_SILENT handler
319
+ - config: turn die_on_error into caller-facing enum
320
321
+ What's the status of this one?
322
217
-* mb/filter-branch-optim (2018-06-26) 1 commit
218
- - filter-branch: skip commits present on --state-branch
323
220
- "git filter-branch" when used with the "--state-branch" option
221
- still attempted to rewrite the commits whose filtered result is
222
- known from the previous attempt (which is recorded on the state
223
- branch); the command has been corrected not to waste cycles doing
224
- so.
324
+* js/range-diff (2018-07-09) 20 commits
325
+ - range-diff: make --dual-color the default mode
326
+ - range-diff: left-pad patch numbers
327
+ - completion: support `git range-diff`
328
+ - range-diff: add a man page
329
+ - range-diff --dual-color: work around bogus white-space warning
330
+ - range-diff: offer to dual-color the diffs
331
+ - diff: add an internal option to dual-color diffs of diffs
332
+ - color: add the meta color GIT_COLOR_REVERSE
333
+ - range-diff: use color for the commit pairs
334
+ - range-diff: add tests
335
+ - range-diff: do not show "function names" in hunk headers
336
+ - range-diff: adjust the output of the commit pairs
337
+ - range-diff: suppress the diff headers
338
+ - range-diff: indent the diffs just like tbdiff
339
+ - range-diff: right-trim commit messages
340
+ - range-diff: also show the diff between patches
341
+ - range-diff: improve the order of the shown commits
342
+ - range-diff: first rudimentary implementation
343
+ - Introduce `range-diff` to compare iterations of a topic branch
344
+ - linear-assignment: a function to solve least-cost assignment problems
345
+
346
+ "git tbdiff" that lets us compare individual patches in two
347
+ iterations of a topic has been rewritten and made into a built-in
348
+ command.
349
+
350
+ Supersedes js/branch-diff topic that added a similar command under
351
+ a different name.
352
+
353
+
354
+* jt/commit-graph-per-object-store (2018-07-09) 6 commits
355
+ . commit-graph: add repo arg to graph readers
356
+ . commit-graph: store graph in struct object_store
357
+ . commit-graph: add free_commit_graph
358
+ . commit-graph: add missing forward declaration
359
+ . object-store: add missing include
360
+ . commit-graph: refactor preparing commit graph
361
+ (this branch uses ds/commit-graph-fsck.)
362
+
363
+ The singleton commit-graph in-core instance is made per in-core
364
+ repository instance.
365
+
366
+ Expecting a reroll, as it breaks 32-bit build.
367
+ cf. https://travis-ci.org/git/git/jobs/402422108
368
+
369
+
370
+* jt/partial-clone-fsck-connectivity (2018-07-09) 2 commits
371
+ - clone: check connectivity even if clone is partial
372
+ - upload-pack: send refs' objects despite "filter"
373
+ (this branch uses bw/ref-in-want and jt/connectivity-check-after-unshallow.)
374
+
375
+ Partial clone support of "git clone" has been updated to correctly
376
+ validate the objects it receives from the other side. The server
377
+ side has been corrected to send objects that are directly
378
+ requested, even if they may match the filtering criteria (e.g. when
379
+ doing a "lazy blob" partial clone).
380
381
Will merge to 'next'.
382
383
229
-* ms/core-icase-doc (2018-06-28) 1 commit
230
- - Documentation: declare "core.ignoreCase" as internal variable
384
+* kg/gc-auto-windows-workaround (2018-07-09) 1 commit
385
+ - gc --auto: release pack files before auto packing
386
232
- Clarify that setting core.ignoreCase to deviate from reality would
233
- not turn a case-incapable filesystem into a case-capable one.
387
+ "git gc --auto" opens file descriptors for the packfiles before
388
+ spawning "git repack/prune", which would upset Windows that does
389
+ not want a process to work on a file that is open by another
390
+ process. The issue has been worked around.
391
392
Will merge to 'next'.
393
394
238
-* rj/submodule-fsck-skip (2018-06-27) 1 commit
239
- - fsck: check skiplist for object in fsck_blob()
395
+* kn/userdiff-php (2018-07-06) 2 commits
396
+ - userdiff: support new keywords in PHP hunk header
397
+ - t4018: add missing test cases for PHP
398
241
- "fsck.skipList" did not prevent a blob object listed there from
242
- being inspected for is contents (e.g. we recently started to
243
- inspect the contents of ".gitmodules" for certain malicious
244
- patterns), which has been corrected.
399
+ The userdiff pattern for .php has been updated.
400
401
Will merge to 'next'.
402
403
249
-* tb/grep-only-matching (2018-06-27) 3 commits
250
- - SQUASH??? emerg compilation fix
251
- - grep.c: teach 'git grep --only-matching'
252
- - grep.c: extract show_line_header()
253
- (this branch uses tb/grep-column.)
404
+* lt/date-human (2018-07-09) 1 commit
405
+ - Add 'human' date format
406
255
- "git grep" learned the "--only-matching" option.
407
408
+* mh/fast-import-no-diff-delta-empty (2018-07-06) 1 commit
409
+ - fast-import: do not call diff_delta() with empty buffer
410
258
-* tz/exclude-doc-smallfixes (2018-06-27) 2 commits
259
- - dir.c: fix typos in core.excludesfile comment
260
- - gitignore.txt: clarify default core.excludesfile path
411
+ "git fast-import" has been updated to avoid attempting to create
412
+ delta against a zero-byte-long string, which is pointless.
413
262
- Doc updates.
414
+ Will merge to 'next'.
415
+
416
+
417
+* ot/ref-filter-object-info (2018-07-09) 4 commits
418
+ . ref-filter: use oid_object_info() to get object
419
+ . ref-filter: merge get_obj and get_object
420
+ . ref-filter: add empty values to technical fields
421
+ . ref-filter: add info_source to valid_atom
422
+
423
+ Expecting a reroll, as it breaks compilation with uninitialized var.
424
+ cf. https://travis-ci.org/git/git/jobs/402422102
425
+
426
+
427
+* pk/rebase-in-c (2018-07-09) 4 commits
428
+ - builtin/rebase: support running "git rebase <upstream>"
429
+ - sequencer: refactor the code to detach HEAD to checkout.c
430
+ - rebase: refactor common shell functions into their own file
431
+ - rebase: start implementing it as a builtin
432
+
433
+ Piecemeal rewrite of the "rebase" machinery in C.
434
+
435
+ Expecting a reroll, but it seems that this is getting quite close.
436
+ cf. <CAOZc8M8YmLwJOzG-1jyz8ft4W_tJMwNs6kSV8inX1q_zmDW8Sg@mail.gmail.com>
437
+
438
+
439
+* tb/config-default (2018-07-06) 1 commit
440
+ - builtin/config: work around an unsized array forward declaration
441
+
442
+ Compilation fix.
443
444
Will merge to 'next'.
445
266
---------------------------------------------------
267
-[Stalled]
446
269
-* ab/fetch-tags-noclobber (2018-05-16) 9 commits
270
- - fixup! push tests: assert re-pushing annotated tags
271
- - fetch: stop clobbering existing tags without --force
272
- - fetch tests: add a test clobbering tag behavior
273
- - fetch tests: correct a comment "remove it" -> "remove them"
274
- - push doc: correct lies about how push refspecs work
275
- - push tests: assert re-pushing annotated tags
276
- - push tests: add more testing for forced tag pushing
277
- - push tests: fix logic error in "push" test assertion
278
- - push tests: remove redundant 'git push' invocation
447
+* bp/log-ref-write-fd-with-strbuf (2018-07-10) 1 commit
448
+ - convert log_ref_write_fd() to use strbuf
449
280
- Expecting a reboot of the discussion to take it to some conclusion
281
- and then a reroll.
282
- cf. <f3b891c3-381f-de42-51d8-24fdfbca91d2@gmail.com>
283
- cf. <xmqq603yn50l.fsf@gitster-ct.c.googlers.com>
284
- cf. <xmqqzi1alodz.fsf@gitster-ct.c.googlers.com>
285
- cf. <xmqqvabylnbi.fsf@gitster-ct.c.googlers.com>
450
+ Code clean-up.
451
452
+ Will merge to 'next'.
453
+
454
+
455
+* hs/push-cert-check-cleanup (2018-07-11) 2 commits
456
+ - gpg-interface: make parse_gpg_output static and remove from interface header
457
+ - builtin/receive-pack: use check_signature from gpg-interface
458
+
459
+ Code clean-up.
460
+
461
+ Will merge to 'next'.
462
+
463
+
464
+* mk/merge-in-sparse-checkout (2018-07-11) 1 commit
465
+ - unpack-trees: do not fail reset because of unmerged skipped entry
466
+
467
+ "git reset --merge" (hence "git merge ---abort") and "git reset --hard"
468
+ had trouble working correctly in a sparsely checked out working
469
+ tree after a conflict, which has been corrected.
470
+
471
+ Will merge to 'next'.
472
+
473
+--------------------------------------------------
474
+[Stalled]
475
476
* pw/add-p-select (2018-03-16) 3 commits
477
- add -p: optimize line selection for short hunks
@@ -390,42 +578,197 @@ of the repositories listed at
578
--------------------------------------------------
579
[Cooking]
580
581
+* ao/config-from-gitmodules (2018-06-26) 6 commits
582
+ (merged to 'next' on 2018-07-11 at 5d88dc6fb7)
583
+ + submodule-config: reuse config_from_gitmodules in repo_read_gitmodules
584
+ + submodule-config: pass repository as argument to config_from_gitmodules
585
+ + submodule-config: make 'config_from_gitmodules' private
586
+ + submodule-config: add helper to get 'update-clone' config from .gitmodules
587
+ + submodule-config: add helper function to get 'fetch' config from .gitmodules
588
+ + config: move config_from_gitmodules to submodule-config.c
589
+
590
+ Tighten the API to make it harder to misuse in-tree .gitmodules
591
+ file, even though it shares the same syntax with configuration
592
+ files, to read random configuration items from it.
593
+
594
+ Will merge to 'master'.
595
+
596
+
597
+* as/sequencer-customizable-comment-char (2018-06-28) 1 commit
598
+ - sequencer: use configured comment character
599
+
600
+ Honor core.commentchar when preparing the list of commits to replay
601
+ in "rebase -i".
602
+
603
+ Needs inter-contributor coordination.
604
+ cf. <e8973797-fc5f-2ca5-1881-5ee66fc8279b@living180.net>
605
+
606
+
607
+* dj/runtime-prefix (2018-06-26) 1 commit
608
+ (merged to 'next' on 2018-07-11 at 27d99fef94)
609
+ + Makefile: tweak sed invocation
610
+
611
+ POSIX portability fix in Makefile to fix a glitch introduced a few
612
+ releases ago.
613
+
614
+ Will merge to 'master'.
615
+
616
+
617
+* ds/commit-graph (2018-06-28) 1 commit
618
+ (merged to 'next' on 2018-07-11 at d579f733ed)
619
+ + commit-graph: fix documentation inconsistencies
620
+
621
+ Docfix.
622
+
623
+ Will merge to 'master'.
624
+
625
+
626
+* en/rebase-i-microfixes (2018-06-27) 3 commits
627
+ (merged to 'next' on 2018-07-11 at d913ca0f77)
628
+ + git-rebase--merge: modernize "git-$cmd" to "git $cmd"
629
+ + Fix use of strategy options with interactive rebases
630
+ + t3418: add testcase showing problems with rebase -i and strategy options
631
+
632
+ Will merge to 'master'.
633
+
634
+
635
+* js/enhanced-version-info (2018-06-29) 1 commit
636
+ (merged to 'next' on 2018-07-11 at 815b2ea2bc)
637
+ + Makefile: fix the "built from commit" code
638
+
639
+ Build fix.
640
+
641
+ Will merge to 'master'.
642
+
643
+
644
+* js/rebase-recreate-merge (2018-06-27) 1 commit
645
+ (merged to 'next' on 2018-07-11 at eb8f33aaef)
646
+ + rebase: fix documentation formatting
647
+
648
+ Docfix.
649
+
650
+ Will merge to 'master'.
651
+
652
+
653
+* jt/connectivity-check-after-unshallow (2018-07-03) 1 commit
654
+ - fetch-pack: write shallow, then check connectivity
655
+ (this branch is used by jt/partial-clone-fsck-connectivity; uses bw/ref-in-want.)
656
+
657
+ "git fetch" failed to correctly validate the set of objects it
658
+ received when making a shallow history deeper, which has been
659
+ corrected.
660
+
661
+ Will merge to 'next'.
662
+
663
+
664
+* jt/fetch-nego-tip (2018-07-03) 1 commit
665
+ - fetch-pack: support negotiation tip whitelist
666
+ (this branch uses jt/fetch-pack-negotiator.)
667
+
668
+ "git fetch" learned a new option "--negotiation-tip" to limit the
669
+ set of commits it tells the other end as "have", to reduce wasted
670
+ bandwidth and cycles, which would be helpful when the receiving
671
+ repository has a lot of refs that have little to do with the
672
+ history at the remote it is fetching from.
673
+
674
+ Will merge to 'next'.
675
+
676
+
677
+* mb/filter-branch-optim (2018-06-26) 1 commit
678
+ (merged to 'next' on 2018-07-11 at e43a0136c2)
679
+ + filter-branch: skip commits present on --state-branch
680
+
681
+ "git filter-branch" when used with the "--state-branch" option
682
+ still attempted to rewrite the commits whose filtered result is
683
+ known from the previous attempt (which is recorded on the state
684
+ branch); the command has been corrected not to waste cycles doing
685
+ so.
686
+
687
+ Will merge to 'master'.
688
+
689
+
690
+* ms/core-icase-doc (2018-06-28) 1 commit
691
+ (merged to 'next' on 2018-07-11 at 8f0d71c32d)
692
+ + Documentation: declare "core.ignoreCase" as internal variable
693
+
694
+ Clarify that setting core.ignoreCase to deviate from reality would
695
+ not turn a case-incapable filesystem into a case-capable one.
696
+
697
+ Will merge to 'master'.
698
+
699
+
700
+* rj/submodule-fsck-skip (2018-07-03) 1 commit
701
+ (merged to 'next' on 2018-07-11 at 985f88cf7e)
702
+ + fsck: check skiplist for object in fsck_blob()
703
+
704
+ "fsck.skipList" did not prevent a blob object listed there from
705
+ being inspected for is contents (e.g. we recently started to
706
+ inspect the contents of ".gitmodules" for certain malicious
707
+ patterns), which has been corrected.
708
+
709
+ Will merge to 'master'.
710
+
711
+
712
+* tb/grep-only-matching (2018-07-09) 2 commits
713
+ - grep.c: teach 'git grep --only-matching'
714
+ - grep.c: extract show_line_header()
715
+ (this branch uses tb/grep-column.)
716
+
717
+ "git grep" learned the "--only-matching" option.
718
+
719
+ Will merge to 'next'.
720
+
721
+
722
+* tz/exclude-doc-smallfixes (2018-06-27) 2 commits
723
+ (merged to 'next' on 2018-07-11 at 5134f1ca72)
724
+ + dir.c: fix typos in core.excludesfile comment
725
+ + gitignore.txt: clarify default core.excludesfile path
726
+
727
+ Doc updates.
728
+
729
+ Will merge to 'master'.
730
+
731
+
732
* ld/p423 (2018-06-19) 6 commits
394
- - git-p4: python3: fix octal constants
395
- - git-p4: python3: use print() function
396
- - git-p4: python3: basestring workaround
397
- - git-p4: python3: remove backticks
398
- - git-p4: python3: replace dict.has_key(k) with "k in dict"
399
- - git-p4: python3: replace <> with !=
733
+ (merged to 'next' on 2018-06-29 at af76acb664)
734
+ + git-p4: python3: fix octal constants
735
+ + git-p4: python3: use print() function
736
+ + git-p4: python3: basestring workaround
737
+ + git-p4: python3: remove backticks
738
+ + git-p4: python3: replace dict.has_key(k) with "k in dict"
739
+ + git-p4: python3: replace <> with !=
740
741
Code preparation to make "git p4" closer to be usable with Python 3.
742
403
- Will merge to 'next'.
743
+ Will merge to 'master'.
744
745
746
* pw/rebase-i-keep-reword-after-conflict (2018-06-19) 1 commit
407
- - sequencer: do not squash 'reword' commits when we hit conflicts
747
+ (merged to 'next' on 2018-06-29 at 538337be74)
748
+ + sequencer: do not squash 'reword' commits when we hit conflicts
749
750
Bugfix for "rebase -i" corner case regression.
751
411
- Will merge to 'next'.
752
+ Will merge to 'master'.
753
754
755
* xy/format-patch-prereq-patch-id-fix (2018-06-19) 1 commit
415
- - format-patch: clear UNINTERESTING flag before prepare_bases
756
+ (merged to 'next' on 2018-06-29 at 0dffc46ce2)
757
+ + format-patch: clear UNINTERESTING flag before prepare_bases
758
759
Recently added "--base" option to "git format-patch" command did
760
not correctly generate prereq patch ids.
761
420
- Will merge to 'next'.
762
+ Will merge to 'master'.
763
764
765
* bw/config-refer-to-gitsubmodules-doc (2018-06-21) 1 commit
424
- - docs: link to gitsubmodules
766
+ (merged to 'next' on 2018-06-29 at da6f49d292)
767
+ + docs: link to gitsubmodules
768
769
Docfix.
770
428
- Will merge to 'next'.
771
+ Will merge to 'master'.
772
773
774
* bw/ref-in-want (2018-06-28) 8 commits
@@ -437,11 +780,14 @@ of the repositories listed at
780
- upload-pack: test negotiation with changing repository
781
- upload-pack: implement ref-in-want
782
- test-pkt-line: add unpack-sideband subcommand
783
+ (this branch is used by jt/connectivity-check-after-unshallow and jt/partial-clone-fsck-connectivity.)
784
785
Protocol v2 has been updated to allow slightly out-of-sync set of
786
servers to work together to serve a single client, which would be
787
useful with load-balanced servers that talk smart HTTP transport.
788
789
+ Will merge to 'next'.
790
+
791
792
* en/rebase-consistency (2018-06-27) 9 commits
793
- git-rebase: make --allow-empty-message the default
@@ -458,28 +804,33 @@ of the repositories listed at
804
the three backends gets used; this has been documented and an
805
effort to make them more uniform has begun.
806
807
+ Will merge to 'next'.
808
+
809
810
* jt/remove-pack-bitmap-global (2018-06-21) 2 commits
463
- - pack-bitmap: add free function
464
- - pack-bitmap: remove bitmap_git global variable
811
+ (merged to 'next' on 2018-06-29 at 852857b04e)
812
+ + pack-bitmap: add free function
813
+ + pack-bitmap: remove bitmap_git global variable
814
815
The effort to move globals to per-repository in-core structure
816
continues.
817
818
+ Will merge to 'master'.
819
+
820
821
* sb/submodule-move-head-error-msg (2018-06-25) 1 commit
822
- submodule.c: report the submodule that an error occurs in
823
473
- Needs a reroll.
474
- cf. <20180622081713.5360-1-szeder.dev@gmail.com>
824
+ Will merge to 'next'.
825
826
827
* bw/protocol-v2 (2018-06-22) 1 commit
478
- - protocol-v2 doc: put HTTP headers after request
828
+ (merged to 'next' on 2018-06-29 at 78090cc343)
829
+ + protocol-v2 doc: put HTTP headers after request
830
831
Doc fix.
832
482
- Will merge to 'next'.
833
+ Will merge to 'master'.
834
835
836
* jk/branch-l-1-repurpose (2018-06-22) 1 commit
@@ -492,97 +843,79 @@ of the repositories listed at
843
844
845
* vs/typofixes (2018-06-22) 1 commit
495
- - Documentation: spelling and grammar fixes
846
+ (merged to 'next' on 2018-06-29 at 665c8db2f7)
847
+ + Documentation: spelling and grammar fixes
848
849
Doc fix.
850
499
- Will merge to 'next'.
851
+ Will merge to 'master'.
852
853
502
-* cc/remote-odb (2018-06-25) 9 commits
503
- . Documentation/config: add odb.<name>.promisorRemote
504
- . t0410: test fetching from many promisor remotes
505
- . Use odb.origin.partialclonefilter instead of core.partialclonefilter
506
- . Use remote_odb_get_direct() and has_remote_odb()
507
- . remote-odb: add remote_odb_reinit()
508
- . remote-odb: implement remote_odb_get_many_direct()
509
- . remote-odb: implement remote_odb_get_direct()
510
- . Add initial remote odb support
511
- . fetch-object: make functions return an error code
854
+* cc/remote-odb (2018-07-06) 10 commits
855
+ - SQUASH??? error: unused variable 'o' [-Werror=unused-variable]
856
+ - Documentation/config: add odb.<name>.promisorRemote
857
+ - t0410: test fetching from many promisor remotes
858
+ - Use odb.origin.partialclonefilter instead of core.partialclonefilter
859
+ - Use remote_odb_get_direct() and has_remote_odb()
860
+ - remote-odb: add remote_odb_reinit()
861
+ - remote-odb: implement remote_odb_get_many_direct()
862
+ - remote-odb: implement remote_odb_get_direct()
863
+ - Add initial remote odb support
864
+ - fetch-object: make functions return an error code
865
866
Needs a reroll.
867
868
516
-* ds/multi-pack-index (2018-06-25) 24 commits
517
- - midx: clear midx on repack
518
- - packfile: skip loading index if in multi-pack-index
519
- - midx: prevent duplicate packfile loads
520
- - midx: use midx in approximate_object_count
521
- - midx: use existing midx when writing new one
522
- - midx: use midx in abbreviation calculations
523
- - midx: read objects from multi-pack-index
524
- - midx: prepare midxed_git struct
525
- - config: create core.multiPackIndex setting
526
- - midx: write object offsets
527
- - midx: write object id fanout chunk
528
- - midx: write object ids in a chunk
529
- - midx: sort and deduplicate objects from packfiles
530
- - midx: read pack names into array
531
- - multi-pack-index: write pack names in chunk
532
- - multi-pack-index: read packfile list
533
- - packfile: generalize pack directory list
534
- - multi-pack-index: expand test data
535
- - multi-pack-index: load into memory
536
- - midx: write header information to lockfile
537
- - multi-pack-index: add 'write' verb
538
- - multi-pack-index: add builtin
539
- - multi-pack-index: add format details
540
- - multi-pack-index: add design document
869
+* ds/multi-pack-index (2018-07-09) 24 commits
870
+ . midx: clear midx on repack
871
+ . packfile: skip loading index if in multi-pack-index
872
+ . midx: prevent duplicate packfile loads
873
+ . midx: use midx in approximate_object_count
874
+ . midx: use existing midx when writing new one
875
+ . midx: use midx in abbreviation calculations
876
+ . midx: read objects from multi-pack-index
877
+ . midx: prepare midxed_git struct
878
+ . config: create core.multiPackIndex setting
879
+ . midx: write object offsets
880
+ . midx: write object id fanout chunk
881
+ . midx: write object ids in a chunk
882
+ . midx: sort and deduplicate objects from packfiles
883
+ . midx: read pack names into array
884
+ . multi-pack-index: write pack names in chunk
885
+ . multi-pack-index: read packfile list
886
+ . packfile: generalize pack directory list
887
+ . multi-pack-index: expand test data
888
+ . multi-pack-index: load into memory
889
+ . midx: write header information to lockfile
890
+ . multi-pack-index: add 'write' verb
891
+ . multi-pack-index: add builtin
892
+ . multi-pack-index: add format details
893
+ . multi-pack-index: add design document
894
895
When there are too many packfiles in a repository (which is not
896
recommended), looking up an object in these would require
897
consulting many pack .idx files; a new mechanism to have a single
898
file that consolidates all of these .idx files is introduced.
899
547
-
548
-* nd/use-the-index-compat-less (2018-06-25) 13 commits
549
- - wt-status.c: stop using index compat macros
550
- - sha1-name.c: stop using index compat macros
551
- - sequencer.c: stop using index compat macros
552
- - revision.c: stop using index compat macros
553
- - rerere.c: stop using index compat macros
554
- - merge.c: stop using index compat macros
555
- - merge-recursive.c: stop using index compat macros
556
- - entry.c: stop using index compat macros
557
- - diff.c: stop using index compat macros
558
- - diff-lib.c: stop using index compat macros
559
- - check-racy.c: stop using index compat macros
560
- - blame.c: stop using index compat macros
561
- - apply.c: stop using index compat macros
562
-
563
- Use of many convenience functions that operate on the_index
564
- "primary in-core index instance" have been rewritten to explicitly
565
- call the coutnerpart functions that take arbitrary index_state and
566
- pass the_index.
567
-
568
- I'd say that alone is a useless code churn, but people seem to be
569
- excited about the change, so it is queued here.
900
+ Expecting a reroll to fix documentation build.
901
+ cf. https://travis-ci.org/git/git/jobs/402422110
902
903
904
* tb/grep-column (2018-06-22) 7 commits
573
- - contrib/git-jump/git-jump: jump to exact location
574
- - grep.c: add configuration variables to show matched option
575
- - builtin/grep.c: add '--column' option to 'git-grep(1)'
576
- - grep.c: display column number of first match
577
- - grep.[ch]: extend grep_opt to allow showing matched column
578
- - grep.c: expose {,inverted} match column in match_line()
579
- - Documentation/config.txt: camel-case lineNumber for consistency
905
+ (merged to 'next' on 2018-06-29 at 25dc70426e)
906
+ + contrib/git-jump/git-jump: jump to exact location
907
+ + grep.c: add configuration variables to show matched option
908
+ + builtin/grep.c: add '--column' option to 'git-grep(1)'
909
+ + grep.c: display column number of first match
910
+ + grep.[ch]: extend grep_opt to allow showing matched column
911
+ + grep.c: expose {,inverted} match column in match_line()
912
+ + Documentation/config.txt: camel-case lineNumber for consistency
913
(this branch is used by tb/grep-only-matching.)
914
915
"git grep" learned the "--column" option that gives not just the
916
line number but the column number of the hit.
917
585
- Will merge to 'next'.
918
+ Will merge to 'master'.
919
920
921
* jt/fetch-pack-negotiator (2018-06-15) 7 commits
@@ -598,27 +931,7 @@ of the repositories listed at
931
Code restructuring and a small fix to transport protocol v2 during
932
fetching.
933
601
- Is this ready for 'next'?
602
-
603
-
604
-* ag/rebase-i-append-todo-help (2018-06-14) 2 commits
605
- - rebase--interactive: rewrite append_todo_help() in C
606
- - Merge branch 'ag/rebase-p' into ag/rebase-i-append-todo-help
607
- (this branch is used by ag/rebase-i-rewrite-todo.)
608
-
609
- Stepwise rewriting of the machinery of "rebase -i" into C continues.
610
-
611
- Needs a reroll.
612
- cf. <nycvar.QRO.7.76.6.1806261125330.21419@tvgsbejvaqbjf.bet>
613
-
614
-
615
-* ag/rebase-i-rewrite-todo (2018-06-15) 3 commits
616
- - rebase--interactive: rewrite the edit-todo functionality in C
617
- - editor: add a function to launch the sequence editor
618
- - Merge branch 'bc/t3430-fixup' into ag/rebase-i-rewrite-todo
619
- (this branch uses ag/rebase-i-append-todo-help.)
620
-
621
- Stepwise rewriting of the machinery of "rebase -i" into C continues.
934
+ Will merge to 'next'.
935
936
937
* sb/submodule-core-worktree (2018-06-19) 3 commits
@@ -665,6 +978,8 @@ of the repositories listed at
978
Parsing of -L[<N>][,[<M>]] parameters "git blame" and "git log"
979
take has been tweaked.
980
981
+ Will merge to 'next'.
982
+
983
984
* en/merge-recursive-cleanup (2018-06-12) 6 commits
985
(merged to 'next' on 2018-06-28 at 1a3646eb7d)
@@ -692,6 +1007,13 @@ of the repositories listed at
1007
- checkout.h: wrap the arguments to unique_tracking_name()
1008
- checkout tests: index should be clean after dwim checkout
1009
1010
+ "git checkout" and "git worktree add" learned to honor
1011
+ checkout.defaultRemote when auto-vivifying a local branch out of a
1012
+ remote tracking branch in a repository with multiple remotes that
1013
+ have tracking branches that share the same names.
1014
+
1015
+ Will merge to 'next'.
1016
+
1017
1018
* ds/commit-graph-fsck (2018-06-27) 22 commits
1019
- commit-graph: update design document
@@ -716,11 +1038,12 @@ of the repositories listed at
1038
- commit-graph: fix GRAPH_MIN_SIZE
1039
- commit-graph: UNLEAK before die()
1040
- t5318-commit-graph.sh: use core.commitGraph
1041
+ (this branch is used by jt/commit-graph-per-object-store.)
1042
1043
"git fsck" learns to make sure the optional commit-graph file is in
1044
a sane state.
1045
723
- Is this ready for 'next'?
1046
+ Will merge to 'next'.
1047
1048
1049
* ma/wrapped-info (2018-05-28) 2 commits
@@ -734,20 +1057,25 @@ of the repositories listed at
1057
cf. <20180529213957.GF7964@sigill.intra.peff.net>
1058
1059
737
-* jm/cache-entry-from-mem-pool (2018-06-28) 8 commits
1060
+* jm/cache-entry-from-mem-pool (2018-07-03) 8 commits
1061
- block alloc: add validations around cache_entry lifecyle
739
- - block alloc: allocate cache entries from mem-pool
1062
+ - block alloc: allocate cache entries from mem_pool
1063
- mem-pool: fill out functionality
1064
- mem-pool: add life cycle management functions
1065
- mem-pool: only search head block for available space
1066
- block alloc: add lifecycle APIs for cache_entry structs
744
- - read-cache: make_cache_entry should take object_id struct
745
- - read-cache: teach refresh_cache_entry() to take istate
1067
+ - read-cache: teach make_cache_entry to take object_id
1068
+ - read-cache: teach refresh_cache_entry to take istate
1069
1070
For a large tree, the index needs to hold many cache entries
1071
allocated on heap. These cache entries are now allocated out of a
1072
dedicated memory pool to amortize malloc(3) overhead.
1073
1074
+ Will merge to 'next'.
1075
+
1076
+ This makes each cache-entry larger by either 4 or 8 bytes, which is
1077
+ a bit sad, though.
1078
+
1079
1080
* sb/object-store-grafts (2018-05-18) 19 commits
1081
(merged to 'next' on 2018-06-28 at 02f70d6302)
@@ -770,6 +1098,7 @@ of the repositories listed at
1098
+ commit: add repository argument to commit_graft_pos
1099
+ object: move grafts to object parser
1100
+ object-store: move object access functions to object-store.h
1101
+ (this branch is used by sb/object-store-lookup.)
1102
1103
Originally merged to 'next' on 2018-06-22
1104
@@ -779,57 +1108,27 @@ of the repositories listed at
1108
Will merge to 'master'.
1109
1110
782
-* js/branch-diff (2018-05-16) 19 commits
783
- - fixup! Add a function to solve least-cost assignment problems
784
- - completion: support branch-diff
785
- - branch-diff: add a man page
786
- - branch-diff --dual-color: work around bogus white-space warning
787
- - branch-diff: offer to dual-color the diffs
788
- - diff: add an internal option to dual-color diffs of diffs
789
- - color: provide inverted colors, too
790
- - branch-diff: use color for the commit pairs
791
- - branch-diff: add tests
792
- - branch-diff: do not show "function names" in hunk headers
793
- - branch-diff: adjust the output of the commit pairs
794
- - branch-diff: suppress the diff headers
795
- - branch-diff: indent the diffs just like tbdiff
796
- - branch-diff: right-trim commit messages
797
- - branch-diff: also show the diff between patches
798
- - branch-diff: improve the order of the shown commits
799
- - branch-diff: first rudimentary implementation
800
- - Add a new builtin: branch-diff
801
- - Add a function to solve least-cost assignment problems
802
-
803
- "git tbdiff" that lets us compare individual patches in two
804
- iterations of a topic has been rewritten and made into a built-in
805
- command.
806
-
807
- Expecting a reroll.
808
- cf. <nycvar.QRO.7.76.6.1805052351560.77@tvgsbejvaqbjf.bet>
809
-
810
-
811
-* sb/diff-color-move-more (2018-06-25) 11 commits
812
- - diff: fix a sparse 'dubious one-bit signed bitfield' error
813
- - SQUASH??? t/4015 GETTEXT_POISON emergency fix
814
- - SQUASH????? Documentation breakage emergency fix
1111
+* sb/diff-color-move-more (2018-06-29) 9 commits
1112
- diff.c: add white space mode to move detection that allows indent changes
1113
- diff.c: factor advance_or_nullify out of mark_color_as_moved
1114
- diff.c: decouple white space treatment from move detection algorithm
1115
- diff.c: add a blocks mode for moved code detection
1116
- diff.c: adjust hash function signature to match hashmap expectation
1117
- diff.c: do not pass diff options as keydata to hashmap
1118
+ - t4015: avoid git as a pipe input
1119
- xdiff/xdiffi.c: remove unneeded function declarations
1120
- xdiff/xdiff.h: remove unused flags
1121
1122
"git diff --color-moved" feature has further been tweaked.
1123
826
- Needs to be cleaned-up with various fix-up bits applied inline.
1124
+ Will merge to 'next'.
1125
1126
1127
* jk/branch-l-0-deprecation (2018-06-22) 3 commits
830
- - branch: deprecate "-l" option
831
- - t: switch "branch -l" to "branch --create-reflog"
832
- - t3200: unset core.logallrefupdates when testing reflog creation
1128
+ (merged to 'next' on 2018-06-29 at fac676dfb9)
1129
+ + branch: deprecate "-l" option
1130
+ + t: switch "branch -l" to "branch --create-reflog"
1131
+ + t3200: unset core.logallrefupdates when testing reflog creation
1132
(this branch is used by jk/branch-l-1-repurpose.)
1133
1134
The "-l" option in "git branch -l" is an unfortunate short-hand for
@@ -838,4 +1137,91 @@ of the repositories listed at
1137
is used as a short-hand for "--create-reflog" and warns about the
1138
future repurposing of the it when it is used.
1139
841
- Will merge to 'next'.
1140
+ Will merge to 'master'.
1141
+
1142
+--------------------------------------------------
1143
+[Discarded]
1144
+
1145
+* ag/rebase-i-append-todo-help (2018-06-14) 2 commits
1146
+ . rebase--interactive: rewrite append_todo_help() in C
1147
+ . Merge branch 'ag/rebase-p' into ag/rebase-i-append-todo-help
1148
+ (this branch is used by ag/rebase-i-rewrite-todo.)
1149
+
1150
+ Stepwise rewriting of the machinery of "rebase -i" into C continues.
1151
+
1152
+ Now part of ag/rebase-i-in-c
1153
+
1154
+
1155
+* ag/rebase-i-rewrite-todo (2018-06-15) 3 commits
1156
+ . rebase--interactive: rewrite the edit-todo functionality in C
1157
+ . editor: add a function to launch the sequence editor
1158
+ . Merge branch 'bc/t3430-fixup' into ag/rebase-i-rewrite-todo
1159
+ (this branch uses ag/rebase-i-append-todo-help.)
1160
+
1161
+ Stepwise rewriting of the machinery of "rebase -i" into C continues.
1162
+
1163
+ Now part of ag/rebase-i-in-c
1164
+
1165
+
1166
+* ab/fetch-tags-noclobber (2018-05-16) 9 commits
1167
+ - fixup! push tests: assert re-pushing annotated tags
1168
+ - fetch: stop clobbering existing tags without --force
1169
+ - fetch tests: add a test clobbering tag behavior
1170
+ - fetch tests: correct a comment "remove it" -> "remove them"
1171
+ - push doc: correct lies about how push refspecs work
1172
+ - push tests: assert re-pushing annotated tags
1173
+ - push tests: add more testing for forced tag pushing
1174
+ - push tests: fix logic error in "push" test assertion
1175
+ - push tests: remove redundant 'git push' invocation
1176
+
1177
+ Discarded per request.
1178
+ cf. <87po09cnir.fsf@evledraar.gmail.com>
1179
+
1180
+
1181
+* nd/use-the-index-compat-less (2018-06-25) 13 commits
1182
+ . wt-status.c: stop using index compat macros
1183
+ . sha1-name.c: stop using index compat macros
1184
+ . sequencer.c: stop using index compat macros
1185
+ . revision.c: stop using index compat macros
1186
+ . rerere.c: stop using index compat macros
1187
+ . merge.c: stop using index compat macros
1188
+ . merge-recursive.c: stop using index compat macros
1189
+ . entry.c: stop using index compat macros
1190
+ . diff.c: stop using index compat macros
1191
+ . diff-lib.c: stop using index compat macros
1192
+ . check-racy.c: stop using index compat macros
1193
+ . blame.c: stop using index compat macros
1194
+ . apply.c: stop using index compat macros
1195
+
1196
+ Retracted to be replaced with a more vertical approach where the
1197
+ lower-level helper functions are taught to be capable of working on
1198
+ an istate instance that is not the_index first, and then upwards to
1199
+ support the application layer that wants to work on an arbitrary
1200
+ istate instance, as the goal is not a mechanical replacement of
1201
+ foo_cache(...) to foo_index(&the_index, ...).
1202
+
1203
+
1204
+* js/branch-diff (2018-05-16) 19 commits
1205
+ . fixup! Add a function to solve least-cost assignment problems
1206
+ . completion: support branch-diff
1207
+ . branch-diff: add a man page
1208
+ . branch-diff --dual-color: work around bogus white-space warning
1209
+ . branch-diff: offer to dual-color the diffs
1210
+ . diff: add an internal option to dual-color diffs of diffs
1211
+ . color: provide inverted colors, too
1212
+ . branch-diff: use color for the commit pairs
1213
+ . branch-diff: add tests
1214
+ . branch-diff: do not show "function names" in hunk headers
1215
+ . branch-diff: adjust the output of the commit pairs
1216
+ . branch-diff: suppress the diff headers
1217
+ . branch-diff: indent the diffs just like tbdiff
1218
+ . branch-diff: right-trim commit messages
1219
+ . branch-diff: also show the diff between patches
1220
+ . branch-diff: improve the order of the shown commits
1221
+ . branch-diff: first rudimentary implementation
1222
+ . Add a new builtin: branch-diff
1223
+ . Add a function to solve least-cost assignment problems
1224
+
1225
+ "git tbdiff" that lets us compare individual patches in two
1226
+ iterations of a topic has been rewritten and made into a built-in
1227
+ command.