What's cooking (2015/10 #01)
Junio C Hamano committed
Oct 5, 2015 at 15:58 UTC
bd8921cfec88fa1502bb65b68012c99a9d2c99aa
1 file changed
+530
-460
whats-cooking.txt
+530
-460
@@ -1,19 +1,19 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Sep 2015, #07; Wed, 30)
4
-X-master-at: be08dee9738eaaa0423885ed189c2b6ad8368cf0
5
-X-next-at: dd5055040e51c9a129af659ad956353485c78698
3
+Subject: What's cooking in git.git (Oct 2015, #01; Mon, 5)
4
+X-master-at: 24a00ef646974be49ef7138239c3803805400797
5
+X-next-at: 70ec07ec915776bb723966160671950e8d4a56c2
6
7
-What's cooking in git.git (Sep 2015, #07; Wed, 30)
7
+What's cooking in git.git (Oct 2015, #01; Mon, 5)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
11
'-' are only in 'pu' (proposed updates) while commits prefixed with
12
'+' are in 'next'.
13
14
-Git 2.6.0 was released a few days ago. I'll do 2.6.1 early next
15
-week, together with updates to a few older maintenance tracks, and
16
-we'll start the next cycle after that.
14
+A set of releases for a handful of maintenance tracks have been
15
+tagged (v2.6.1, v2.5.4, v2.4.10 and v2.3.10), thanks to Blake
16
+Burkhart and Jeff King.
17
18
With somewhat reduced review bandwidth, I'd expect that the upcoming
19
cycle would be slower than usual. At tinyurl.com/gitCal, I
@@ -27,16 +27,498 @@ of the repositories listed at
27
28
http://git-blame.blogspot.com/p/git-public-repositories.html
29
30
+--------------------------------------------------
31
+[Graduated to "master"]
32
+
33
+* ad/bisect-terms (2015-08-03) 4 commits
34
+ (merged to 'next' on 2015-09-01 at ede6e64)
35
+ + bisect: allow setting any user-specified in 'git bisect start'
36
+ + bisect: add 'git bisect terms' to view the current terms
37
+ + bisect: add the terms old/new
38
+ + bisect: sanity check on terms
39
+
40
+ The use of 'good/bad' in "git bisect" made it confusing to use when
41
+ hunting for a state change that is not a regression (e.g. bugfix).
42
+ The command learned 'old/new' and then allows the end user to
43
+ say e.g. "bisect start --term-old=fast --term=new=slow" to find a
44
+ performance regression.
45
+
46
+ Michael's idea to make 'good/bad' more intelligent does have
47
+ certain attractiveness ($gname/272867), and may make some of
48
+ the work on this topic a moot point, though.
49
+
50
+
51
+* as/subtree-with-spaces (2015-09-08) 2 commits
52
+ (merged to 'next' on 2015-09-09 at f3d763d)
53
+ + contrib/subtree: respect spaces in a repository path
54
+ + t7900-subtree: test the "space in a subdirectory name" case
55
+
56
+ Update "git subtree" (in contrib/) so that it can take whitespaces
57
+ in the pathnames, not only in the in-tree pathname but the name of
58
+ the directory that the repository is in.
59
+
60
+
61
+* bb/remote-get-url (2015-09-17) 1 commit
62
+ (merged to 'next' on 2015-09-21 at c07a1e8)
63
+ + remote: add get-url subcommand
64
+
65
+ "git remote" learned "get-url" subcommand to show the URL for a
66
+ given remote name used for fetching and pushing.
67
+
68
+
69
+* dt/refs-bisection (2015-09-01) 3 commits
70
+ (merged to 'next' on 2015-09-08 at 2b66bad)
71
+ + refs: make refs/bisect/* per-worktree
72
+ + path: optimize common dir checking
73
+ + refs: clean up common_list
74
+ (this branch is used by dt/refs-backend-lmdb.)
75
+
76
+ Move the refs used during a "git bisect" session to per-worktree
77
+ hierarchy refs/worktree/* so that independent bisect sessions can
78
+ be done in different worktrees.
79
+
80
+ The second commit may or may not want to be reverted.
81
+
82
+
83
+* jc/rerere (2015-07-24) 21 commits
84
+ (merged to 'next' on 2015-08-26 at 8ae15ef)
85
+ + rerere: un-nest merge() further
86
+ + rerere: use "struct rerere_id" instead of "char *" for conflict ID
87
+ + rerere: call conflict-ids IDs
88
+ + rerere: further clarify do_rerere_one_path()
89
+ + rerere: further de-dent do_plain_rerere()
90
+ + rerere: refactor "replay" part of do_plain_rerere()
91
+ + rerere: explain the remainder
92
+ + rerere: explain "rerere forget" codepath
93
+ + rerere: explain the primary codepath
94
+ + rerere: explain MERGE_RR management helpers
95
+ + rerere: fix benign off-by-one non-bug and clarify code
96
+ + rerere: explain the rerere I/O abstraction
97
+ + rerere: do not leak mmfile[] for a path with multiple stage #1 entries
98
+ + rerere: stop looping unnecessarily
99
+ + rerere: drop want_sp parameter from is_cmarker()
100
+ + rerere: report autoupdated paths only after actually updating them
101
+ + rerere: write out each record of MERGE_RR in one go
102
+ + rerere: lift PATH_MAX limitation
103
+ + rerere: plug conflict ID leaks
104
+ + rerere: handle conflicts with multiple stage #1 entries
105
+ + rerere: fix an off-by-one non-bug
106
+ (this branch is used by jc/rerere-multi.)
107
+
108
+ Code clean-up and minor fixes.
109
+
110
+
111
+* jh/quiltimport-explicit-series-file (2015-09-01) 1 commit
112
+ (merged to 'next' on 2015-09-02 at 1129ca4)
113
+ + git-quiltimport: add commandline option --series <file>
114
+
115
+ "quiltimport" allows to specify the series file by honoring the
116
+ $QUILT_SERIES environment and also --series command line option.
117
+
118
+
119
+* jk/async-pkt-line (2015-09-01) 2 commits
120
+ (merged to 'next' on 2015-09-02 at e185717)
121
+ + pkt-line: show packets in async processes as "sideband"
122
+ + run-command: provide in_async query function
123
+
124
+ The debugging infrastructure for pkt-line based communication has
125
+ been improved to mark the side-band communication specifically.
126
+
127
+
128
+* jk/blame-first-parent (2015-09-16) 1 commit
129
+ (merged to 'next' on 2015-09-21 at 7580f6b)
130
+ + blame: handle --first-parent
131
+
132
+ "git blame --first-parent v1.0..v2.0" was not rejected but did not
133
+ limit the blame to commits on the first parent chain.
134
+
135
+
136
+* jk/connect-clear-env (2015-09-08) 2 commits
137
+ (merged to 'next' on 2015-09-08 at 86b64f7)
138
+ + git_connect: clarify conn->use_shell flag
139
+ (merged to 'next' on 2015-09-06 at 9ddbed8)
140
+ + git_connect: clear GIT_* environment for ssh
141
+
142
+ The ssh transport, just like any other transport over the network,
143
+ did not clear GIT_* environment variables, but it is possible to
144
+ use SendEnv and AcceptEnv to leak them to the remote invocation of
145
+ Git, which is not a good idea at all. Explicitly clear them just
146
+ like we do for the local transport.
147
+
148
+
149
+* jk/date-local (2015-09-03) 11 commits
150
+ (merged to 'next' on 2015-09-08 at 66781d9)
151
+ + t6300: add tests for "-local" date formats
152
+ + t6300: make UTC and local dates different
153
+ + date: make "local" orthogonal to date format
154
+ + date: check for "local" before anything else
155
+ + t6300: add test for "raw" date format
156
+ + t6300: introduce test_date() helper
157
+ + fast-import: switch crash-report date to iso8601
158
+ + Documentation/rev-list: don't list date formats
159
+ + Documentation/git-for-each-ref: don't list date formats
160
+ + Documentation/config: don't list date formats
161
+ + Documentation/blame-options: don't list date formats
162
+
163
+ "git log --date=local" used to only show the normal (default)
164
+ format in the local timezone. The command learned to take 'local'
165
+ as an instruction to use the local timezone with other formats,
166
+ e.g. "git show --date=rfc-local".
167
+
168
+
169
+* jk/interpret-trailers-outside-a-repository (2015-09-08) 1 commit
170
+ (merged to 'next' on 2015-09-09 at a75fce3)
171
+ + interpret-trailers: allow running outside a repository
172
+
173
+ Allow "git interpret-trailers" to run outside of a Git repository.
174
+
175
+
176
+* jk/make-findstring-makeflags-fix (2015-09-10) 1 commit
177
+ (merged to 'next' on 2015-09-21 at 26ea6e0)
178
+ + Makefile: fix MAKEFLAGS tests with multiple flags
179
+
180
+ Customization to change the behaviour with "make -w" and "make -s"
181
+ in our Makefile was broken when they were used together.
182
+
183
+
184
+* jk/rebase-no-autostash (2015-09-10) 2 commits
185
+ (merged to 'next' on 2015-09-21 at 034d726)
186
+ + Documentation/git-rebase: fix --no-autostash formatting
187
+ + rebase: support --no-autostash
188
+
189
+ There was no way to defeat a configured rebase.autostash variable
190
+ from the command line, as "git rebase --no-autostash" was missing.
191
+
192
+
193
+* jk/test-lint-forbid-when-finished-in-subshell (2015-09-08) 5 commits
194
+ (merged to 'next' on 2015-09-09 at 74ede61)
195
+ + test-lib-functions: detect test_when_finished in subshell
196
+ + t7800: don't use test_config in a subshell
197
+ + test-lib-functions: support "test_config -C <dir> ..."
198
+ + t5801: don't use test_when_finished in a subshell
199
+ + t7610: don't use test_config in a subshell
200
+
201
+ Because "test_when_finished" in our test framework queues the
202
+ clean-up tasks to be done in a shell variable, it should not be
203
+ used inside a subshell. Add a mechanism to allow 'bash' to catch
204
+ such uses, and fix the ones that were found.
205
+
206
+
207
+* jw/make-arflags-customizable (2015-09-10) 1 commit
208
+ (merged to 'next' on 2015-09-21 at cb3892c1)
209
+ + Makefile: allow $(ARFLAGS) specified from the command line
210
+
211
+ The Makefile always runs the library archiver with hardcoded "crs"
212
+ options, which was inconvenient for exotic platforms on which
213
+ people want to use programs with totally different set of command
214
+ line options.
215
+
216
+
217
+* kn/for-each-tag (2015-09-17) 17 commits
218
+ (merged to 'next' on 2015-09-17 at 1980952)
219
+ + tag.c: implement '--merged' and '--no-merged' options
220
+ + tag.c: implement '--format' option
221
+ + tag.c: use 'ref-filter' APIs
222
+ + tag.c: use 'ref-filter' data structures
223
+ + ref-filter: add option to match literal pattern
224
+ + ref-filter: add support to sort by version
225
+ + ref-filter: add support for %(contents:lines=X)
226
+ + ref-filter: add option to filter out tags, branches and remotes
227
+ + ref-filter: implement an `align` atom
228
+ + ref-filter: introduce match_atom_name()
229
+ + ref-filter: introduce handler function for each atom
230
+ + utf8: add function to align a string into given strbuf
231
+ + ref-filter: introduce ref_formatting_state and ref_formatting_stack
232
+ + ref-filter: move `struct atom_value` to ref-filter.c
233
+ + strtoul_ui: reject negative values
234
+ + Merge 'jk/git-path' into kn/for-each-tag
235
+ + Merge 'kn/for-each-tag-branch' into kn/for-each-tag
236
+ (this branch is used by dt/refs-backend-lmdb, kn/for-each-branch and kn/for-each-branch-remainder; uses kn/for-each-tag-branch.)
237
+
238
+ The "ref-filter" code was taught about many parts of what "tag -l"
239
+ does and then "tag -l" is being reimplemented in terms of "ref-filter".
240
+
241
+
242
+* kn/for-each-tag-branch (2015-08-03) 11 commits
243
+ (merged to 'next' on 2015-08-03 at d9e94b9)
244
+ + for-each-ref: add '--contains' option
245
+ + ref-filter: implement '--contains' option
246
+ + parse-options.h: add macros for '--contains' option
247
+ + parse-option: rename parse_opt_with_commit()
248
+ + for-each-ref: add '--merged' and '--no-merged' options
249
+ + ref-filter: implement '--merged' and '--no-merged' options
250
+ + ref-filter: add parse_opt_merge_filter()
251
+ + for-each-ref: add '--points-at' option
252
+ + ref-filter: implement '--points-at' option
253
+ + tag: libify parse_opt_points_at()
254
+ + t6302: for-each-ref tests for ref-filter APIs
255
+ (this branch is used by dt/refs-backend-lmdb, kn/for-each-branch, kn/for-each-branch-remainder and kn/for-each-tag.)
256
+
257
+ Originally merged to 'next' on 2015-07-15
258
+
259
+ Some features from "git tag -l" and "git branch -l" have been made
260
+ available to "git for-each-ref" so that eventually the unified
261
+ implementation can be shared across all three, in a follow-up
262
+ series or two.
263
+
264
+
265
+* ld/p4-import-labels (2015-08-28) 3 commits
266
+ (merged to 'next' on 2015-09-01 at cf9f1d6)
267
+ + git-p4: fix P4 label import for unprocessed commits
268
+ + git-p4: do not terminate creating tag for unknown commit
269
+ + git-p4: failing test for ignoring invalid p4 labels
270
+
271
+ Correct "git p4 --detect-labels" so that it does not fail to create
272
+ a tag that points at a commit that is also being imported.
273
+
274
+
275
+* mm/keyid-docs (2015-09-21) 3 commits
276
+ (merged to 'next' on 2015-09-21 at f50ccab)
277
+ + Documentation: explain optional arguments better
278
+ + Documentation/grep: fix documentation of -O
279
+ + Documentation: use 'keyid' consistently, not 'key-id'
280
+
281
+ Very small number of options take a parameter that is optional
282
+ (which is not a great UI element as they can only appear at the end
283
+ of the command line). Add notice to documentation of each and
284
+ every one of them.
285
+
286
+
287
+* nk/stash-show-config (2015-08-31) 1 commit
288
+ (merged to 'next' on 2015-09-08 at 90dd06f)
289
+ + stash: allow "stash show" diff output configurable
290
+
291
+ Users who are too busy to type three extra keystrokes to ask for
292
+ "git stash show -p" can now set stash.showPatch configuration
293
+ varible to true to always see the actual patch, not just the list
294
+ of paths affected with feel for the extent of damage via diffstat.
295
+
296
+
297
+* sb/submodule-helper (2015-09-08) 4 commits
298
+ (merged to 'next' on 2015-09-21 at 9354b31)
299
+ + submodule: rewrite `module_clone` shell function in C
300
+ + submodule: rewrite `module_name` shell function in C
301
+ + submodule: rewrite `module_list` shell function in C
302
+ + Merge 'hv/submodule-config' to 'sb/submodule-helper'
303
+ (this branch is used by dt/refs-backend-lmdb and sb/submodule-parallel-fetch.)
304
+
305
+ The infrastructure to rewrite "git submodule" in C is being built
306
+ incrementally. Let's polish these early parts well enough and make
307
+ them graduate to 'next' and 'master', so that the more involved
308
+ follow-up can start cooking on a solid ground.
309
+
310
--------------------------------------------------
311
[New Topics]
312
313
+* dt/refs-backend-lmdb (2015-10-05) 45 commits
314
+ - SQUASH???
315
+ - refs: tests for db backend
316
+ - refs: add LMDB refs backend
317
+ - refs: add register_refs_backend
318
+ - refs: allow ref backend to be set for clone
319
+ - refs: break out a ref conflict check
320
+ - refs: make some files backend functions public
321
+ - refs: move some defines from refs-be-files.c to refs.h
322
+ - run-command: track total number of commands run
323
+ - refs-be-files.c: add method to rename refs
324
+ - refs.c: make struct ref_transaction generic
325
+ - refs.c: add method for initializing refs db
326
+ - initdb: move safe_create_dir into common code
327
+ - refs.c: add method for initial ref transaction commit
328
+ - refs-be-files.c: add method to expire reflogs
329
+ - refs.c: add methods for reflog
330
+ - refs.c: add ref backend init function
331
+ - refs.c: move should_autocreate_reflog to common code
332
+ - refs.c: move peel_object to the common code
333
+ - refs.c: move copy_msg to the common code
334
+ - refs.h: document make refname_is_safe and add it to header
335
+ - refs.c: move refname_is_safe to the common code
336
+ - refs-be-files.c: add do_for_each_per_worktree_ref
337
+ - refs-be-files.c: add method for for_each_reftype_...
338
+ - refs-be-files.c: add methods for the ref iterators
339
+ - refs-be-files.c: add methods for misc ref operations
340
+ - refs-be-files.c: add a backend method structure with transaction functions
341
+ - refs.c: move head_ref_namespaced to the common code
342
+ - refs.c: move ref iterators to the common code
343
+ - refs.c: move prettify_refname to the common code
344
+ - refs.c: move is_branch to the common code
345
+ - refs.c: move check_refname_format to the common code
346
+ - refs.c: move resolve_refdup to common
347
+ - refs.c: move read_ref, read_ref_full and ref_exists to the common code
348
+ - refs.c: move warn_if_dangling_symref* to the common code
349
+ - refs.c: move dwim and friend functions to the common refs code
350
+ - refs.c: move the hidden refs functions to the common code
351
+ - refs.c: move read_ref_at to the common refs file
352
+ - refs.c: move delete_ref and delete_refs to the common code
353
+ - refs.c: move update_ref to refs.c
354
+ - refs.c: add a new refs.c file to hold all common refs code
355
+ - refs-be-files.c: rename refs to refs-be-files
356
+ - refs: make repack_without_refs and is_branch public
357
+ - refs.c: create a public version of verify_refname_available
358
+ - Merge branch 'jk/war-on-sprintf' into HEAD
359
+ (this branch uses jk/war-on-sprintf.)
360
+
361
+ Pluggable ref backend.
362
+
363
+ Expecting a reroll.
364
+ ($gmane/278757).
365
+
366
+
367
+* gr/rebase-i-drop-warn (2015-10-02) 2 commits
368
+ - rebase-i: loosen over-eager check_bad_cmd check
369
+ - rebase-i: explicitly accept tab as separator in commands
370
+
371
+ "git rebase -i" had a minor regression recently, which stopped
372
+ considering a line that begins with an indented '#' in its insn
373
+ sheet not a comment, which is now fixed.
374
+
375
+ Will merge to 'next'.
376
+
377
+
378
+* kn/for-each-branch-remainder (2015-10-02) 9 commits
379
+ - branch: implement '--format' option
380
+ - branch: use ref-filter printing APIs
381
+ - ref-filter: make %(upstream:track) prints "[gone]" for invalid upstreams
382
+ - ref-filter: introduce format_ref_array_item()
383
+ - ref-filter: adopt get_head_description() from branch.c
384
+ - ref-filter: modify "%(objectname:short)" to take length
385
+ - ref-filter: add support for %(path) atom
386
+ - ref-filter: implement %(if:equals=<string>) and %(if:notequals=<string>)
387
+ - ref-filter: implement %(if), %(then), and %(else) atoms
388
+ (this branch uses kn/for-each-branch.)
389
+
390
+ More unification among "branch -l", "tag -l" and "for-each-ref --format".
391
+
392
+ Expecting a reroll.
393
+ ($gmane/278926)
394
+
395
+* pt/pull-builtin (2015-10-02) 1 commit
396
+ - merge: grammofix in please-commit-before-merge message
397
+
398
+ Will merge to 'next'.
399
+
400
+--------------------------------------------------
401
+[Stalled]
402
+
403
+* dk/gc-idx-wo-pack (2015-08-17) 3 commits
404
+ - DONTMERGE: log message, grace-period and tests $gmane/276058
405
+ - gc: remove stale .idx files without corresponding .pack file
406
+ - prepare_packed_git(): refactor garbage reporting in pack directory
407
+
408
+ Having a leftover .idx file without correspoinding .pack file in
409
+ the repository hurts performance; "git gc" learned to prune them.
410
+
411
+ Waiting for a reroll.
412
+
413
+
414
+* nd/ita-cleanup (2015-09-06) 6 commits
415
+ - grep: make it clear i-t-a entries are ignored
416
+ - checkout(-index): do not checkout i-t-a entries
417
+ - apply: make sure check_preimage() does not leave empty file on error
418
+ - apply: fix adding new files on i-t-a entries
419
+ - add and use a convenience macro ce_intent_to_add()
420
+ - blame: remove obsolete comment
421
+
422
+ Paths that have been told the index about with "add -N" are not yet
423
+ in the index, but various commands behaved as if they already are.
424
+
425
+ Some commits need better explanation.
426
+
427
+ Waiting for a reroll.
428
+
429
+
430
+* ld/p4-detached-head (2015-09-09) 2 commits
431
+ - git-p4: work with a detached head
432
+ - git-p4: add failing test for submit from detached head
433
+
434
+ Will be rerolled.
435
+ ($gmane/277574)
436
+
437
+
438
+* mr/worktree-list (2015-10-02) 7 commits
439
+ - SQUASH???
440
+ - worktree: add 'list' command
441
+ - worktree: add details to the worktree struct
442
+ - worktree: add a function to get worktree details
443
+ - SQUASH???
444
+ - worktree: refactor find_linked_symref function
445
+ - worktree: add top-level worktree.c
446
+
447
+ Add the "list" subcommand to "git worktree".
448
+
449
+ Waiting for a reroll.
450
+ ($gmane/278529).
451
+
452
+
453
+* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
454
+ - t/lib-git-svn: check same httpd module dirs as lib-httpd
455
+ - t/lib-httpd: load mod_unixd
456
+
457
+ This is the first two commits in a three-patch series $gmane/266962
458
+
459
+ Becoming tired of waiting for a reroll.
460
+ with updated log message ($gmane/268061).
461
+
462
+
463
+* wp/sha1-name-negative-match (2015-06-08) 2 commits
464
+ - sha1_name.c: introduce '^{/!-<negative pattern>}' notation
465
+ - test for '!' handling in rev-parse's named commits
466
+
467
+ Introduce "branch^{/!-<pattern>}" notation to name a commit
468
+ reachable from branch that does not match the given pattern.
469
+
470
+ Becoming tired of waiting for a reroll.
471
+ ($gmane/271213).
472
+
473
+
474
+* ak/format-patch-odir-config (2015-06-19) 1 commit
475
+ - format-patch: introduce format.outputDirectory configuration
476
+
477
+ Reroll exists but didn't pick it up as it seemed to be still
478
+ collecting review comments.
479
+
480
+ Becoming tired of waiting for a reroll.
481
+ ($gmane/272180).
482
+
483
+
484
+* mh/notes-allow-reading-treeish (2015-07-13) 1 commit
485
+ - notes: allow treeish expressions as notes ref
486
+
487
+ Some "git notes" operations, e.g. "git log --notes=<note>", should
488
+ be able to read notes from any tree-ish that is shaped like a notes
489
+ tree, but the notes infrastructure required that the argument must
490
+ be a ref under refs/notes/. Loosen it to require a valid ref only
491
+ when the operation would update the notes (in which case we must
492
+ have a place to store the updated notes tree, iow, a ref).
493
+
494
+ Needs update to docs.
495
+ ($gmane/273928)
496
+
497
+
498
+* jc/diff-b-m (2015-02-23) 5 commits
499
+ . WIPWIP
500
+ . WIP: diff-b-m
501
+ - diffcore-rename: allow easier debugging
502
+ - diffcore-rename.c: add locate_rename_src()
503
+ - diffcore-break: allow debugging
504
+
505
+ "git diff -B -M" produced incorrect patch when the postimage of a
506
+ completely rewritten file is similar to the preimage of a removed
507
+ file; such a resulting file must not be expressed as a rename from
508
+ other place.
509
+
510
+ The fix in this patch is broken, unfortunately.
511
+
512
+--------------------------------------------------
513
+[Cooking]
514
+
515
* jk/asciidoctor-section-heading-markup-fix (2015-09-25) 1 commit
516
- Documentation: fix section header mark-up
517
518
Will merge to 'next'.
519
520
39
-* jk/war-on-sprintf (2015-09-28) 68 commits
521
+* jk/war-on-sprintf (2015-10-05) 70 commits
522
- name-rev: use strip_suffix to avoid magic numbers
523
- use strbuf_complete to conditionally append slash
524
- fsck: use for_each_loose_file_in_objdir
@@ -65,6 +547,8 @@ of the repositories listed at
547
- transport: use strbufs for status table "quickref" strings
548
- apply: convert root string to strbuf
549
- init: use strbufs to store paths
550
+ - probe_utf8_pathname_composition: use internal strbuf
551
+ - precompose_utf8: drop unused variable
552
- sha1_get_pack_name: use a strbuf
553
- http-walker: store url in a strbuf
554
- http-push: use strbuf instead of fwrite_buffer
@@ -105,9 +589,16 @@ of the repositories listed at
589
- archive-tar: fix minor indentation violation
590
- mailsplit: fix FILE* leak in split_maildir
591
- show-branch: avoid segfault with --reflog of unborn branch
592
+ (this branch is used by dt/refs-backend-lmdb.)
593
109
- Needs further tweaking
110
- ($gmane/278837)
594
+ Many allocations that is manually counted (correctly) that are
595
+ followed by strcpy/sprintf have been replaced with a less error
596
+ prone constructs such as xstrfmt.
597
+
598
+ Macintosh-specific breakage was noticed and corrected in this
599
+ reroll.
600
+
601
+ Will wait for a week or so before merging to 'next'.
602
603
604
* rp/link-curl-before-ssl (2015-09-25) 3 commits
@@ -115,7 +606,7 @@ of the repositories listed at
606
- configure.ac: detect ssl need with libcurl
607
- Makefile: link libcurl before openssl and crypto
608
118
- Will merge to 'next'.
609
+ Rerolls exist, but are still being discussed.
610
611
612
* sb/http-flaky-test-fix (2015-09-25) 1 commit
@@ -127,6 +618,8 @@ of the repositories listed at
618
* sb/perf-without-installed-git (2015-09-25) 1 commit
619
- t/perf: make runner work even if Git is not installed
620
621
+ Performance-measurement tests did not work without an installed Git.
622
+
623
Will merge to 'next'.
624
625
@@ -136,25 +629,29 @@ of the repositories listed at
629
Will merge to 'next'.
630
631
139
-* js/clone-dissociate (2015-09-28) 1 commit
632
+* js/clone-dissociate (2015-10-05) 4 commits
633
- clone --dissociate: avoid locking pack files
634
+ - sha1_file.c: add a function to release all packs
635
+ - sha1_file: consolidate code to close a pack's file descriptor
636
+ - t5700: demonstrate a Windows file locking issue with `git clone --dissociate`
637
638
"git clone --dissociate" runs a big "git repack" process at the
639
end, and it helps to close file descriptors that are open on the
640
packs and their idx files before doing so on filesystems that
641
cannot remove a file that is still open.
642
147
- Needs more review discussion.
148
- ($gmane/278859).
643
+ Will merge to 'next'.
644
645
151
-* js/gc-with-stale-symref (2015-09-28) 4 commits
152
- - gc: remove broken symrefs
153
- - mark_reachable_objects(): optionally collect broken symrefs
646
+* js/gc-with-stale-symref (2015-10-05) 2 commits
647
- pack-objects: do not get distracted by broken symrefs
648
- gc: demonstrate failure with stale remote HEAD
649
157
- The tip one both the original author and a reviewer felt iffy about.
650
+ "git gc" used to barf when a symbolic ref has gone dangling
651
+ (e.g. the branch that used to be your upstream's default when you
652
+ cloned from it is now gone, and you did "fetch --prune").
653
+
654
+ Will merge to 'next'.
655
656
657
* js/icase-wt-detection (2015-09-28) 1 commit
@@ -163,7 +660,7 @@ of the repositories listed at
660
Will merge to 'next'.
661
662
166
-* mm/detach-at-HEAD-reflog (2015-09-28) 2 commits
663
+* mm/detach-at-HEAD-reflog (2015-10-02) 2 commits
664
- status: don't say 'HEAD detached at HEAD'
665
- t3203: test 'detached at' after checkout --detach
666
@@ -195,70 +692,6 @@ of the repositories listed at
692
693
Will merge to 'next'.
694
198
---------------------------------------------------
199
-[Stalled]
200
-
201
-* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
202
- - t/lib-git-svn: check same httpd module dirs as lib-httpd
203
- - t/lib-httpd: load mod_unixd
204
-
205
- This is the first two commits in a three-patch series $gmane/266962
206
-
207
- Becoming tired of waiting for a reroll.
208
- with updated log message ($gmane/268061).
209
-
210
-
211
-* wp/sha1-name-negative-match (2015-06-08) 2 commits
212
- - sha1_name.c: introduce '^{/!-<negative pattern>}' notation
213
- - test for '!' handling in rev-parse's named commits
214
-
215
- Introduce "branch^{/!-<pattern>}" notation to name a commit
216
- reachable from branch that does not match the given pattern.
217
-
218
- Becoming tired of waiting for a reroll.
219
- ($gmane/271213).
220
-
221
-
222
-* ak/format-patch-odir-config (2015-06-19) 1 commit
223
- - format-patch: introduce format.outputDirectory configuration
224
-
225
- Reroll exists but didn't pick it up as it seemed to be still
226
- collecting review comments.
227
-
228
- Becoming tired of waiting for a reroll.
229
- ($gmane/272180).
230
-
231
-
232
-* mh/notes-allow-reading-treeish (2015-07-13) 1 commit
233
- - notes: allow treeish expressions as notes ref
234
-
235
- Some "git notes" operations, e.g. "git log --notes=<note>", should
236
- be able to read notes from any tree-ish that is shaped like a notes
237
- tree, but the notes infrastructure required that the argument must
238
- be a ref under refs/notes/. Loosen it to require a valid ref only
239
- when the operation would update the notes (in which case we must
240
- have a place to store the updated notes tree, iow, a ref).
241
-
242
- Needs update to docs.
243
- ($gmane/273928)
244
-
245
-
246
-* jc/diff-b-m (2015-02-23) 5 commits
247
- . WIPWIP
248
- . WIP: diff-b-m
249
- - diffcore-rename: allow easier debugging
250
- - diffcore-rename.c: add locate_rename_src()
251
- - diffcore-break: allow debugging
252
-
253
- "git diff -B -M" produced incorrect patch when the postimage of a
254
- completely rewritten file is similar to the preimage of a removed
255
- file; such a resulting file must not be expressed as a rename from
256
- other place.
257
-
258
- The fix in this patch is broken, unfortunately.
259
-
260
---------------------------------------------------
261
-[Cooking]
695
696
* ls/p4-translation-failure (2015-09-22) 2 commits
697
- git-p4: handle "Translation of file content failed"
@@ -270,20 +703,6 @@ of the repositories listed at
703
Will merge to 'next'.
704
705
273
-* mr/worktree-list (2015-09-23) 6 commits
274
- - SQUASH???
275
- - worktree: add 'list' command
276
- - worktree: add functions to get worktree details
277
- - worktree: refactor find_linked_symref function
278
- - SQUASH???
279
- - worktree: add top-level worktree.c
280
-
281
- Add the "list" subcommand to "git worktree".
282
-
283
- Waiting for a reroll.
284
- ($gmane/278529).
285
-
286
-
706
* jk/notes-dwim-doc (2015-09-22) 1 commit
707
- notes: correct documentation of DWIMery for notes references
708
@@ -302,7 +721,7 @@ of the repositories listed at
721
- branch: roll show_detached HEAD into regular ref_list
722
- branch: bump get_head_description() to the top
723
- branch: refactor width computation
305
- (this branch uses kn/for-each-tag and kn/for-each-tag-branch.)
724
+ (this branch is used by kn/for-each-branch-remainder.)
725
726
Update "git branch" that list existing branches, using the
727
ref-filter API that is shared with "git tag" and "git
@@ -320,20 +739,6 @@ of the repositories listed at
739
Will merge to 'next'.
740
741
323
-* mm/keyid-docs (2015-09-21) 3 commits
324
- (merged to 'next' on 2015-09-21 at f50ccab)
325
- + Documentation: explain optional arguments better
326
- + Documentation/grep: fix documentation of -O
327
- + Documentation: use 'keyid' consistently, not 'key-id'
328
-
329
- Very small number of options take a parameter that is optional
330
- (which is not a great UI element as they can only appear at the end
331
- of the command line). Add notice to documentation of each and
332
- every one of them.
333
-
334
- Will merge to 'master'.
335
-
336
-
742
* nd/gc-auto-background-fix (2015-09-21) 1 commit
743
- gc: save log from daemonized gc --auto and print it next time
744
@@ -344,24 +749,6 @@ of the repositories listed at
749
Will merge to 'next'.
750
751
347
-* jk/blame-first-parent (2015-09-16) 1 commit
348
- (merged to 'next' on 2015-09-21 at 7580f6b)
349
- + blame: handle --first-parent
350
-
351
- "git blame --first-parent v1.0..v2.0" was not rejected but did not
352
- limit the blame to commits on the first parent chain.
353
-
354
- Will merge to 'master'.
355
-
356
-
357
-* ld/p4-detached-head (2015-09-09) 2 commits
358
- - git-p4: work with a detached head
359
- - git-p4: add failing test for submit from detached head
360
-
361
- Will be rerolled.
362
- ($gmane/277574)
363
-
364
-
752
* jk/graph-format-padding (2015-09-14) 1 commit
753
- pretty: pass graph width to pretty formatting for use in '%>|(N)'
754
@@ -381,39 +768,6 @@ of the repositories listed at
768
($gmane/278326)
769
770
384
-* jk/make-findstring-makeflags-fix (2015-09-10) 1 commit
385
- (merged to 'next' on 2015-09-21 at 26ea6e0)
386
- + Makefile: fix MAKEFLAGS tests with multiple flags
387
-
388
- Customization to change the behaviour with "make -w" and "make -s"
389
- in our Makefile was broken when they were used together.
390
-
391
- Will merge to 'master'.
392
-
393
-
394
-* jk/rebase-no-autostash (2015-09-10) 2 commits
395
- (merged to 'next' on 2015-09-21 at 034d726)
396
- + Documentation/git-rebase: fix --no-autostash formatting
397
- + rebase: support --no-autostash
398
-
399
- There was no way to defeat a configured rebase.autostash variable
400
- from the command line, as "git rebase --no-autostash" was missing.
401
-
402
- Will merge to 'master'.
403
-
404
-
405
-* jw/make-arflags-customizable (2015-09-10) 1 commit
406
- (merged to 'next' on 2015-09-21 at cb3892c1)
407
- + Makefile: allow $(ARFLAGS) specified from the command line
408
-
409
- The Makefile always runs the library archiver with hardcoded "crs"
410
- options, which was inconvenient for exotic platforms on which
411
- people wants to use programs with totally different set of command
412
- line options.
413
-
414
- Will merge to 'master'.
415
-
416
-
771
* nd/ignore-then-not-ignore (2015-09-21) 2 commits
772
(merged to 'next' on 2015-09-21 at 2182591)
773
+ dir.c: don't exclude whole dir prematurely if neg pattern may match
@@ -426,22 +780,23 @@ of the repositories listed at
780
Will merge to 'master'.
781
782
429
-* sb/submodule-parallel-fetch (2015-09-30) 9 commits
783
+* sb/submodule-parallel-fetch (2015-10-02) 8 commits
784
- submodules: allow parallel fetching, add tests and documentation
785
- fetch_populated_submodules: use new parallel job processing
432
- - SQUASH??? return_value() is fed possibly uninitialized code
786
- run-command: add an asynchronous parallel child processor
787
- sigchain: add command to pop all common signals
788
- strbuf: add strbuf_read_once to read without blocking
789
- xread_nonblock: add functionality to read from fds without blocking
790
- xread: poll on non blocking fds
791
- submodule.c: write "Fetching submodule <foo>" to stderr
439
- (this branch uses sb/submodule-helper.)
792
793
Add a framework to spawn a group of processes in parallel, and use
794
it to run "git fetch --recurse-submodules" in parallel.
795
796
The overall structure seems more-or-less sensible.
797
+ ($gmane/278873)
798
+
799
+ Will merge to 'next'.
800
801
802
* mk/submodule-gitdir-path (2015-09-14) 2 commits
@@ -454,42 +809,15 @@ of the repositories listed at
809
Will merge to 'next'.
810
811
457
-* jk/connect-clear-env (2015-09-08) 2 commits
458
- (merged to 'next' on 2015-09-08 at 86b64f7)
459
- + git_connect: clarify conn->use_shell flag
460
- (merged to 'next' on 2015-09-06 at 9ddbed8)
461
- + git_connect: clear GIT_* environment for ssh
462
-
463
- The ssh transport, just like any other transport over the network,
464
- did not clear GIT_* environment variables, but it is possible to
465
- use SendEnv and AcceptEnv to leak them to the remote invocation of
466
- Git, which is not a good idea at all. Explicitly clear them just
467
- like we do for the local transport.
468
-
469
- Will merge to 'master'.
470
-
471
-
812
* ti/glibc-stdio-mutex-from-signal-handler (2015-09-04) 1 commit
473
- (merged to 'next' on 2015-09-08 at c8047ba)
474
- + pager: don't use unsafe functions in signal handlers
475
-
476
- Allocation related functions and stdio are unsafe things to call
477
- inside a signal handler, and indeed killing the pager can cause
478
- glibc to deadlock waiting on allocation mutex as our signal handler
479
- tries to free() some data structures in wait_for_pager(). Reduce
480
- these unsafe calls.
481
-
482
- Will merge to 'next'.
483
-
484
-
485
-* as/subtree-with-spaces (2015-09-08) 2 commits
486
- (merged to 'next' on 2015-09-09 at f3d763d)
487
- + contrib/subtree: respect spaces in a repository path
488
- + t7900-subtree: test the "space in a subdirectory name" case
813
+ (merged to 'next' on 2015-09-08 at c8047ba)
814
+ + pager: don't use unsafe functions in signal handlers
815
490
- Update "git subtree" (in contrib/) so that it can take whitespaces
491
- in the pathnames, not only in the in-tree pathname but the name of
492
- the directory that the repository is in.
816
+ Allocation related functions and stdio are unsafe things to call
817
+ inside a signal handler, and indeed killing the pager can cause
818
+ glibc to deadlock waiting on allocation mutex as our signal handler
819
+ tries to free() some data structures in wait_for_pager(). Reduce
820
+ these unsafe calls.
821
822
Will merge to 'master'.
823
@@ -504,32 +832,7 @@ of the repositories listed at
832
Will merge to 'master'.
833
834
507
-* jk/interpret-trailers-outside-a-repository (2015-09-08) 1 commit
508
- (merged to 'next' on 2015-09-09 at a75fce3)
509
- + interpret-trailers: allow running outside a repository
510
-
511
- Allow "git interpret-trailers" to run outside of a Git repository.
512
-
513
- Will merge to 'master'.
514
-
515
-
516
-* jk/test-lint-forbid-when-finished-in-subshell (2015-09-08) 5 commits
517
- (merged to 'next' on 2015-09-09 at 74ede61)
518
- + test-lib-functions: detect test_when_finished in subshell
519
- + t7800: don't use test_config in a subshell
520
- + test-lib-functions: support "test_config -C <dir> ..."
521
- + t5801: don't use test_when_finished in a subshell
522
- + t7610: don't use test_config in a subshell
523
-
524
- Because "test_when_finished" in our test framework queues the
525
- clean-up tasks to be done in a shell variable, it should not be
526
- used inside a subshell. Add a mechanism to allow 'bash' to catch
527
- such uses, and fix the ones that were found.
528
-
529
- Will merge to 'master'.
530
-
531
-
532
-* ls/p4-lfs (2015-09-28) 7 commits
835
+* ls/p4-lfs (2015-10-03) 7 commits
836
- git-p4: add Git LFS backend for large file system
837
- git-p4: add support for large file systems
838
- git-p4: check free space during streaming
@@ -558,61 +861,6 @@ of the repositories listed at
861
Will merge to 'next'.
862
863
561
-* jh/quiltimport-explicit-series-file (2015-09-01) 1 commit
562
- (merged to 'next' on 2015-09-02 at 1129ca4)
563
- + git-quiltimport: add commandline option --series <file>
564
-
565
- "quiltimport" allows to specify the series file by honoring the
566
- $QUILT_SERIES environment and also --series command line option.
567
-
568
- Will merge to 'master'.
569
-
570
-
571
-* jk/async-pkt-line (2015-09-01) 2 commits
572
- (merged to 'next' on 2015-09-02 at e185717)
573
- + pkt-line: show packets in async processes as "sideband"
574
- + run-command: provide in_async query function
575
-
576
- The debugging infrastructure for pkt-line based communication has
577
- been improved to mark the side-band communicatio specifically.
578
-
579
- Will merge to 'master'.
580
-
581
-
582
-* jk/date-local (2015-09-03) 11 commits
583
- (merged to 'next' on 2015-09-08 at 66781d9)
584
- + t6300: add tests for "-local" date formats
585
- + t6300: make UTC and local dates different
586
- + date: make "local" orthogonal to date format
587
- + date: check for "local" before anything else
588
- + t6300: add test for "raw" date format
589
- + t6300: introduce test_date() helper
590
- + fast-import: switch crash-report date to iso8601
591
- + Documentation/rev-list: don't list date formats
592
- + Documentation/git-for-each-ref: don't list date formats
593
- + Documentation/config: don't list date formats
594
- + Documentation/blame-options: don't list date formats
595
-
596
- "git log --date=local" used to only allow to show the normal
597
- (default) format in the local timezone. The command learned to take
598
- 'local' as an instruction to use the local timezone with other
599
- formats, e.g. "git show --date=rfc-local".
600
-
601
- Will merge to 'master'.
602
-
603
-
604
-* nk/stash-show-config (2015-08-31) 1 commit
605
- (merged to 'next' on 2015-09-08 at 90dd06f)
606
- + stash: allow "stash show" diff output configurable
607
-
608
- Users who are too busy to type three extra keystrokes to ask for
609
- "git stash show -p" can now set stash.showPatch configuration
610
- varible to true to always see the actual patch, not just the list
611
- of paths affected with feel for the extent of damage via diffstat.
612
-
613
- Will merge to 'master'.
614
-
615
-
864
* ls/p4-path-encoding (2015-09-21) 3 commits
865
(merged to 'next' on 2015-09-21 at 0772d82)
866
+ git-p4: use replacement character for non UTF-8 characters in paths
@@ -627,128 +875,6 @@ of the repositories listed at
875
Will merge to 'master'.
876
877
630
-* ad/bisect-terms (2015-08-03) 4 commits
631
- (merged to 'next' on 2015-09-01 at ede6e64)
632
- + bisect: allow setting any user-specified in 'git bisect start'
633
- + bisect: add 'git bisect terms' to view the current terms
634
- + bisect: add the terms old/new
635
- + bisect: sanity check on terms
636
-
637
- The use of 'good/bad' in "git bisect" made it confusing to use when
638
- hunting for a state change that is not a regression (e.g. bugfix).
639
- The command learned 'old/new' and then allows the end user to
640
- say e.g. "bisect start --term-old=fast --term=new=slow" to find a
641
- performance regression.
642
-
643
- Michael's idea to make 'good/bad' more intelligent does have
644
- certain attractiveness ($gname/272867), and makes some of the work
645
- on this topic a moot point.
646
-
647
- Will merge to 'master'.
648
-
649
-
650
-* dt/refs-bisection (2015-09-01) 3 commits
651
- (merged to 'next' on 2015-09-08 at 2b66bad)
652
- + refs: make refs/bisect/* per-worktree
653
- + path: optimize common dir checking
654
- + refs: clean up common_list
655
-
656
- Move the refs used during a "git bisect" session to per-worktree
657
- hierarchy refs/worktree/* so that independent bisect sessions can
658
- be done in different worktrees.
659
-
660
- Will merge to 'master'.
661
-
662
-
663
-* ld/p4-import-labels (2015-08-28) 3 commits
664
- (merged to 'next' on 2015-09-01 at cf9f1d6)
665
- + git-p4: fix P4 label import for unprocessed commits
666
- + git-p4: do not terminate creating tag for unknown commit
667
- + git-p4: failing test for ignoring invalid p4 labels
668
-
669
- Will merge to 'master'.
670
-
671
-
672
-* kn/for-each-tag (2015-09-17) 17 commits
673
- (merged to 'next' on 2015-09-17 at 1980952)
674
- + tag.c: implement '--merged' and '--no-merged' options
675
- + tag.c: implement '--format' option
676
- + tag.c: use 'ref-filter' APIs
677
- + tag.c: use 'ref-filter' data structures
678
- + ref-filter: add option to match literal pattern
679
- + ref-filter: add support to sort by version
680
- + ref-filter: add support for %(contents:lines=X)
681
- + ref-filter: add option to filter out tags, branches and remotes
682
- + ref-filter: implement an `align` atom
683
- + ref-filter: introduce match_atom_name()
684
- + ref-filter: introduce handler function for each atom
685
- + utf8: add function to align a string into given strbuf
686
- + ref-filter: introduce ref_formatting_state and ref_formatting_stack
687
- + ref-filter: move `struct atom_value` to ref-filter.c
688
- + strtoul_ui: reject negative values
689
- + Merge 'jk/git-path' into kn/for-each-tag
690
- + Merge 'kn/for-each-tag-branch' into kn/for-each-tag
691
- (this branch is used by kn/for-each-branch; uses kn/for-each-tag-branch.)
692
-
693
- The "ref-filter" code was taught about many parts of what "tag -l"
694
- does and then "tag -l" is reimplemented in terms of "ref-filter".
695
-
696
- Will merge to 'master'.
697
-
698
-
699
-* nd/ita-cleanup (2015-09-06) 6 commits
700
- - grep: make it clear i-t-a entries are ignored
701
- - checkout(-index): do not checkout i-t-a entries
702
- - apply: make sure check_preimage() does not leave empty file on error
703
- - apply: fix adding new files on i-t-a entries
704
- - add and use a convenience macro ce_intent_to_add()
705
- - blame: remove obsolete comment
706
-
707
- Paths that have been told the index about with "add -N" are not yet
708
- in the index, but various commands behaved as if they already are.
709
-
710
- Some commits need better explanation.
711
-
712
- Waiting for a reroll.
713
-
714
-
715
-* dk/gc-idx-wo-pack (2015-08-17) 3 commits
716
- - DONTMERGE: log message, grace-period and tests $gmane/276058
717
- - gc: remove stale .idx files without corresponding .pack file
718
- - prepare_packed_git(): refactor garbage reporting in pack directory
719
-
720
- Having a leftover .idx file without correspoinding .pack file in
721
- the repository hurts performance; "git gc" learned to prune them.
722
-
723
- Waiting for a reroll.
724
-
725
-
726
-* bb/remote-get-url (2015-09-17) 1 commit
727
- (merged to 'next' on 2015-09-21 at c07a1e8)
728
- + remote: add get-url subcommand
729
-
730
- "git remote" learned "get-url" subcommand to show the URL for a
731
- given remote name used for fetching and pushing.
732
-
733
- Will merge to 'master'.
734
-
735
-
736
-* sb/submodule-helper (2015-09-08) 4 commits
737
- (merged to 'next' on 2015-09-21 at 9354b31)
738
- + submodule: rewrite `module_clone` shell function in C
739
- + submodule: rewrite `module_name` shell function in C
740
- + submodule: rewrite `module_list` shell function in C
741
- + Merge 'hv/submodule-config' to 'sb/submodule-helper'
742
- (this branch is used by sb/submodule-parallel-fetch.)
743
-
744
- The infrastructure to rewrite "git submodule" in C is being built
745
- incrementally. Let's polish these early parts well enough and make
746
- them graduate to 'next' and 'master', so that the more involved
747
- follow-up can start cooking on a solid ground.
748
-
749
- Will merge to 'master'.
750
-
751
-
878
* ad/cygwin-wants-rename (2015-08-07) 1 commit
879
- config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
880
@@ -756,61 +882,6 @@ of the repositories listed at
882
($gmane/275680).
883
884
759
-* kn/for-each-tag-branch (2015-08-03) 11 commits
760
- (merged to 'next' on 2015-08-03 at d9e94b9)
761
- + for-each-ref: add '--contains' option
762
- + ref-filter: implement '--contains' option
763
- + parse-options.h: add macros for '--contains' option
764
- + parse-option: rename parse_opt_with_commit()
765
- + for-each-ref: add '--merged' and '--no-merged' options
766
- + ref-filter: implement '--merged' and '--no-merged' options
767
- + ref-filter: add parse_opt_merge_filter()
768
- + for-each-ref: add '--points-at' option
769
- + ref-filter: implement '--points-at' option
770
- + tag: libify parse_opt_points_at()
771
- + t6302: for-each-ref tests for ref-filter APIs
772
- (this branch is used by kn/for-each-branch and kn/for-each-tag.)
773
-
774
- Originally merged to 'next' on 2015-07-15
775
-
776
- Some features from "git tag -l" and "git branch -l" have been made
777
- available to "git for-each-ref" so that eventually the unified
778
- implementation can be shared across all three, in a follow-up
779
- series or two.
780
-
781
- Will merge to 'master'.
782
-
783
-
784
-* jc/rerere (2015-07-24) 21 commits
785
- (merged to 'next' on 2015-08-26 at 8ae15ef)
786
- + rerere: un-nest merge() further
787
- + rerere: use "struct rerere_id" instead of "char *" for conflict ID
788
- + rerere: call conflict-ids IDs
789
- + rerere: further clarify do_rerere_one_path()
790
- + rerere: further de-dent do_plain_rerere()
791
- + rerere: refactor "replay" part of do_plain_rerere()
792
- + rerere: explain the remainder
793
- + rerere: explain "rerere forget" codepath
794
- + rerere: explain the primary codepath
795
- + rerere: explain MERGE_RR management helpers
796
- + rerere: fix benign off-by-one non-bug and clarify code
797
- + rerere: explain the rerere I/O abstraction
798
- + rerere: do not leak mmfile[] for a path with multiple stage #1 entries
799
- + rerere: stop looping unnecessarily
800
- + rerere: drop want_sp parameter from is_cmarker()
801
- + rerere: report autoupdated paths only after actually updating them
802
- + rerere: write out each record of MERGE_RR in one go
803
- + rerere: lift PATH_MAX limitation
804
- + rerere: plug conflict ID leaks
805
- + rerere: handle conflicts with multiple stage #1 entries
806
- + rerere: fix an off-by-one non-bug
807
- (this branch is used by jc/rerere-multi.)
808
-
809
- Code clean-up and minor fixes.
810
-
811
- Will merge to 'master'.
812
-
813
-
885
* jc/rerere-multi (2015-09-14) 7 commits
886
- rerere: do use multiple variants
887
- t4200: rerere a merge with two identical conflicts
@@ -819,7 +890,6 @@ of the repositories listed at
890
- rerere: handle leftover rr-cache/$ID directory and postimage files
891
- rerere: scan $GIT_DIR/rr-cache/$ID when instantiating a rerere_id
892
- rerere: split conflict ID further
822
- (this branch uses jc/rerere.)
893
894
"git rerere" can encounter two or more files with the same conflict
895
signature that have to be resolved in different ways, but there was
@@ -835,7 +905,7 @@ of the repositories listed at
905
Stop supporting "git merge <message> HEAD <commit>" syntax that
906
has been deprecated since October 2007.
907
838
- Will keep in 'next' during the 2.6 cycle.
908
+ Will keep in 'next' during the 2.7 cycle.
909
910
--------------------------------------------------
911
[Discarded]