What's cooking (2016/08 #02)
Junio C Hamano committed
Aug 4, 2016 at 15:24 UTC
7f9e2f68c9ec7abd0fc8e42d4fc7fe47e7b2f85d
1 file changed
+701
-559
whats-cooking.txt
+701
-559
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Aug 2016, #01; Tue, 2)
4
-X-master-at: f8f7adce9fc50a11a764d57815602dcb818d1816
5
-X-next-at: f965a184db64b4fd46c6b74c02c0079537516c63
3
+Subject: What's cooking in git.git (Aug 2016, #02; Thu, 4)
4
+X-master-at: c6b0597e9ac7277e148e2fd4d7615ac6e0bfb661
5
+X-next-at: 24ed5d95aa3081ef814648bf890eb4d457ad30c6
6
7
-What's cooking in git.git (Aug 2016, #01; Tue, 2)
7
+What's cooking in git.git (Aug 2016, #02; Thu, 4)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,122 +12,506 @@ Here are the topics that have been cooking. Commits prefixed with
12
'+' are in 'next'. The ones marked with '.' do not appear in any of
13
the integration branches, but I am still holding onto them.
14
15
-On the 'master' front, the individual commit count now exceeds 400
16
-since the last major release, which is a good pace. We may want to
17
-start slowing down once the current crop of topics in 'next' hits
18
-the 'master' and switch our attention to regression hunting. The
15
+Many topics in "Cooking" section without seeing activity have been
16
+moved to "Stalled" status and marked as "Will discard". This is
17
+unfortunate but with way many people wanting to throw random new
18
+topics while too few people able/willing to review them, it is
19
+inevitable.
20
+
21
+On the 'master' front, the individual commit count now getting closer
22
+to 500 since the last major release, which is a good pace. We may
23
+want to start slowing down once the current crop of topics in 'next'
24
+hits 'master' and switch our attention to regression hunting. The
25
'maint' branch has been accumulating enough material to make it the
20
-next maintenance release v2.9.3.
26
+next maintenance release v2.9.3, which hopefully happen early next
27
+week.
28
29
You can find the changes described here in the integration branches
30
of the repositories listed at
31
32
http://git-blame.blogspot.com/p/git-public-repositories.html
33
34
+--------------------------------------------------
35
+[Graduated to "master"]
36
+
37
+* da/subtree-2.9-regression (2016-07-26) 2 commits
38
+ (merged to 'next' on 2016-07-26 at 9d71562)
39
+ + subtree: fix "git subtree split --rejoin"
40
+ + t7900-subtree.sh: fix quoting and broken && chains
41
+ (this branch is used by da/subtree-modernize.)
42
+
43
+ "git merge" in Git v2.9 was taught to forbid merging an unrelated
44
+ lines of history by default, but that is exactly the kind of thing
45
+ the "--rejoin" mode of "git subtree" (in contrib/) wants to do.
46
+ "git subtree" has been taught to use the "--allow-unrelated-histories"
47
+ option to override the default.
48
+
49
+
50
+* ew/http-walker (2016-07-18) 4 commits
51
+ (merged to 'next' on 2016-07-18 at a430a97)
52
+ + list: avoid incompatibility with *BSD sys/queue.h
53
+ (merged to 'next' on 2016-07-13 at 8585c03)
54
+ + http-walker: reduce O(n) ops with doubly-linked list
55
+ + http: avoid disconnecting on 404s for loose objects
56
+ + http-walker: remove unused parameter from fetch_object
57
+
58
+ Dumb http transport on the client side has been optimized.
59
+
60
+
61
+* jc/grep-commandline-vs-configuration (2016-07-25) 1 commit
62
+ (merged to 'next' on 2016-07-28 at dd53273)
63
+ + grep: further simplify setting the pattern type
64
+
65
+ "git -c grep.patternType=extended log --basic-regexp" misbehaved
66
+ because the internal API to access the grep machinery was not
67
+ designed well.
68
+
69
+
70
+* jk/diff-do-not-reuse-wtf-needs-cleaning (2016-07-22) 1 commit
71
+ (merged to 'next' on 2016-07-28 at e3c5190)
72
+ + diff: do not reuse worktree files that need "clean" conversion
73
+
74
+ There is an optimization used in "git diff $treeA $treeB" to borrow
75
+ an already checked-out copy in the working tree when it is known to
76
+ be the same as the blob being compared, expecting that open/mmap of
77
+ such a file is faster than reading it from the object store, which
78
+ involves inflating and applying delta. This however kicked in even
79
+ when the checked-out copy needs to go through the convert-to-git
80
+ conversion (including the clean filter), which defeats the whole
81
+ point of the optimization. The optimization has been disabled when
82
+ the conversion is necessary.
83
+
84
+
85
+* jk/git-jump (2016-07-22) 3 commits
86
+ (merged to 'next' on 2016-07-28 at 9ef9398)
87
+ + contrib/git-jump: fix typo in README
88
+ + contrib/git-jump: add whitespace-checking mode
89
+ + contrib/git-jump: fix greedy regex when matching hunks
90
+
91
+ "git jump" script (in contrib/) has been updated a bit.
92
+
93
+
94
+* jk/parse-options-concat (2016-07-06) 1 commit
95
+ (merged to 'next' on 2016-07-28 at 219bc3a)
96
+ + parse_options: allocate a new array when concatenating
97
+
98
+ Users of the parse_options_concat() API function need to allocate
99
+ extra slots in advance and fill them with OPT_END() when they want
100
+ to decide the set of supported options dynamically, which makes the
101
+ code error-prone and hard to read. This has been corrected by tweaking
102
+ the API to allocate and return a new copy of "struct option" array.
103
+
104
+
105
+* jk/push-progress (2016-07-20) 12 commits
106
+ (merged to 'next' on 2016-07-28 at 39598fb)
107
+ + receive-pack: send keepalives during quiet periods
108
+ + receive-pack: turn on connectivity progress
109
+ + receive-pack: relay connectivity errors to sideband
110
+ + receive-pack: turn on index-pack resolving progress
111
+ + index-pack: add flag for showing delta-resolution progress
112
+ + clone: use a real progress meter for connectivity check
113
+ + check_connected: add progress flag
114
+ + check_connected: relay errors to alternate descriptor
115
+ + check_everything_connected: use a struct with named options
116
+ + check_everything_connected: convert to argv_array
117
+ + rev-list: add optional progress reporting
118
+ + check_everything_connected: always pass --quiet to rev-list
119
+
120
+ "git push" and "git clone" learned to give better progress meters
121
+ to the end user who is waiting on the terminal.
122
+
123
+
124
+* jt/fetch-large-handshake-window-on-http (2016-07-19) 1 commit
125
+ (merged to 'next' on 2016-07-28 at 5606b14)
126
+ + fetch-pack: grow stateless RPC windows exponentially
127
+
128
+ "git fetch" exchanges batched have/ack messages between the sender
129
+ and the receiver, initially doubling every time and then falling
130
+ back to enlarge the window size linearly. The "smart http"
131
+ transport, being an half-duplex protocol, outgrows the preset limit
132
+ too quickly and becomes inefficient when interacting with a large
133
+ repository. The internal mechanism learned to grow the window size
134
+ more aggressively when working with the "smart http" transport.
135
+
136
+
137
+* mm/status-suggest-merge-abort (2016-07-22) 1 commit
138
+ (merged to 'next' on 2016-07-28 at b8b87d9)
139
+ + status: suggest 'git merge --abort' when appropriate
140
+
141
+ "git status" learned to suggest "merge --abort" during a conflicted
142
+ merge, just like it already suggests "rebase --abort" during a
143
+ conflicted rebase.
144
+
145
+
146
+* os/no-verify-skips-commit-msg-too (2016-07-26) 1 commit
147
+ (merged to 'next' on 2016-07-26 at 09b98b9)
148
+ + commit: describe that --no-verify skips the commit-msg hook in the help text
149
+
150
+ "git commit --help" said "--no-verify" is only about skipping the
151
+ pre-commit hook, and failed to say that it also skipped the
152
+ commit-msg hook.
153
+
154
+
155
+* pm/build-persistent-https-with-recent-go (2016-07-22) 2 commits
156
+ (merged to 'next' on 2016-07-28 at f6e9115)
157
+ + contrib/persistent-https: use Git version for build label
158
+ + contrib/persistent-https: update ldflags syntax for Go 1.7+
159
+
160
+ The build procedure for "git persistent-https" helper (in contrib/)
161
+ has been updated so that it can be built with more recent versions
162
+ of Go.
163
+
164
+
165
+* rs/submodule-config-code-cleanup (2016-07-28) 4 commits
166
+ (merged to 'next' on 2016-07-28 at e25450e)
167
+ + submodule-config: fix test binary crashing when no arguments given
168
+ + submodule-config: combine early return code into one goto
169
+ + submodule-config: passing name reference for .gitmodule blobs
170
+ (merged to 'next' on 2016-07-19 at 59dbd58)
171
+ + submodule-config: use explicit empty string instead of strbuf in config_from()
172
+
173
+ Code cleanup.
174
+
175
+
176
+* sb/pack-protocol-doc-nak (2016-07-22) 1 commit
177
+ (merged to 'next' on 2016-07-28 at 5c94e0e)
178
+ + Documentation: pack-protocol correct NAK response
179
+
180
+ A doc update.
181
+
182
+
183
+* sb/push-options (2016-07-14) 4 commits
184
+ (merged to 'next' on 2016-07-19 at ee9a83a)
185
+ + add a test for push options
186
+ + push: accept push options
187
+ + receive-pack: implement advertising and receiving push options
188
+ + push options: {pre,post}-receive hook learns about push options
189
+
190
+ "git push" learned to accept and pass extra options to the
191
+ receiving end so that hooks can read and react to them.
192
+
193
+
194
+* sb/submodule-clone-retry (2016-07-22) 2 commits
195
+ (merged to 'next' on 2016-07-28 at 5487d28)
196
+ + submodule-helper: fix indexing in clone retry error reporting path
197
+ + git-submodule: forward exit code of git-submodule--helper more faithfully
198
+
199
+ An earlier tweak to make "submodule update" retry a failing clone
200
+ of submodules was buggy and caused segfault, which has been fixed.
201
+
202
--------------------------------------------------
203
[New Topics]
204
30
-* ab/gitweb-link-html-escape (2016-08-01) 1 commit
31
- - gitweb: escape link body in format_ref_marker
205
+* jh/clean-smudge-f-doc (2016-08-03) 1 commit
206
+ (merged to 'next' on 2016-08-04 at c2fc8e6)
207
+ + clarify %f documentation
208
33
- The characters in the label shown for tags/refs for commits shown
34
- in "gitweb" output are now properly escaped for proper HTML output.
209
+ A minor documentation update.
210
36
- Will merge to 'next'.
211
+ Will merge to 'master'.
212
213
+ This was split out from a stalled jh/clean-smudge-annex topic
214
+ before discarding it.
215
39
-* ew/build-time-pager-tweaks (2016-08-01) 1 commit
40
- . pager: move pager-specific setup into the build
216
42
- The build procedure learned PAGER_ENV knob that lists what default
43
- environment variable settings to export for popular pagers. This
44
- mechanism is used to tweak the default settings to MORE on FreeBSD.
217
+* jh/status-v2-porcelain (2016-08-03) 8 commits
218
+ - status: tests for --porcelain=v2
219
+ - git-status.txt: describe --porcelain=v2 format
220
+ - status: print branch info with --porcelain=v2 --branch
221
+ - status: print per-file porcelain v2 status data
222
+ - status: per-file data collection for --porcelain=v2
223
+ - status: support --porcelain[=<version>]
224
+ - status: cleanup API to wt_status_print
225
+ - status: rename long-format print routines
226
46
- Waiting for a reroll.
227
+ Enhance "git status --porcelain" output by collecting more data on
228
+ the state of the index and the working tree files, which may
229
+ further be used to teach git-prompt (in contrib/) to make fewer
230
+ calls to git.
231
232
+ Needs review.
233
49
-* ib/t3700-add-chmod-x-updates (2016-08-01) 3 commits
50
- - t3700: add a test_mode_in_index helper function
51
- - t3700: merge two tests into one
52
- - t3700: remove unwanted leftover files before running new tests
234
54
- The t3700 test about "add --chmod=-x" have been made a bit more
55
- robust and generally cleaned up.
235
+* jk/parseopt-string-list (2016-08-03) 1 commit
236
+ (merged to 'next' on 2016-08-04 at a7f0cd2)
237
+ + blame: drop strdup of string literal
238
57
- Will merge to 'next'.
239
+ A small memory leak in the command line parsing of "git blame"
240
+ has been plugged.
241
242
+ Will merge to 'master'.
243
60
-* jt/format-patch-from-config (2016-08-01) 1 commit
61
- - format-patch: format.from gives the default for --from
244
63
- "git format-patch" learned format.from configuration variable to
64
- specify the default settings for its "--from" option.
245
+* js/import-tars-hardlinks (2016-08-03) 1 commit
246
+ - import-tars: support hard links
247
248
+ "import-tars" fast-import script (in contrib/) used to ignore a
249
+ hardlink target and replaced it with an empty file, which has been
250
+ corrected to record the same blob as the other file the hardlink is
251
+ shared with.
252
67
-* rs/st-mult (2016-08-01) 1 commit
68
- - pass constants as first argument to st_mult()
253
+ Comments?
254
70
- Micro optimization of st_mult() facility used to check the integer
71
- overflow coming from multiplication to compute size of memory
72
- allocation.
255
74
- Will merge to 'next'.
256
+* js/t4130-rename-without-ino (2016-08-03) 1 commit
257
+ (merged to 'next' on 2016-08-04 at 044fb33)
258
+ + t4130: work around Windows limitation
259
260
+ Windows port was failing some tests in t4130, due to the lack of
261
+ inum in the returned values by its lstat(2) emulation.
262
77
-* rs/use-strbuf-addstr (2016-08-01) 1 commit
78
- - use strbuf_addstr() for adding constant strings to a strbuf
263
+ Will merge to 'master' and then to 'maint'.
264
+
265
+
266
+* nd/fbsd-lazy-mtime (2016-08-04) 1 commit
267
+ - t7063: work around FreeBSD's lazy mtime update feature
268
+
269
+ FreeBSD can lie when asked mtime of a directory, which made the
270
+ untracked cache code to fall back to a slow-path, which in turn
271
+ caused tests in t7063 to fail because it wanted to verify the
272
+ behaviour of the fast-path.
273
274
Will merge to 'next'.
275
276
83
-* sb/submodule-update-dot-branch (2016-08-01) 7 commits
84
- - submodule update: allow '.' for branch value
85
- - submodule--helper: add remote-branch helper
86
- - submodule-config: keep configured branch around
87
- - submodule--helper: fix usage string for relative-path
88
- - submodule update: narrow scope of local variable
89
- - submodule update: respect depth in subsequent fetches
90
- - t7406: future proof tests with hard coded depth
277
+* sb/submodule-recommend-shallowness (2016-08-03) 1 commit
278
+ (merged to 'next' on 2016-08-04 at 9f23a7e)
279
+ + gitmodules: document shallow recommendation
280
92
- A few updates to "git submodule update".
281
+ Doc update.
282
+
283
+ Will merge to 'master'.
284
+
285
+
286
+* jk/trace-fixup (2016-08-04) 7 commits
287
+ - write_or_die: drop write_or_whine_pipe()
288
+ - trace: disable key after write error
289
+ - trace: correct variable name in write() error message
290
+ - trace: cosmetic fixes for error messages
291
+ - trace: use warning() for printing trace errors
292
+ - trace: stop using write_or_whine_pipe()
293
+ - trace: handle NULL argument in trace_disable()
294
+
295
+ Various small fixups to the "GIT_TRACE" facility.
296
+
297
+
298
+* js/nedmalloc-gcc6-warnings (2016-08-04) 2 commits
299
+ - nedmalloc: work around overzealous GCC 6 warning
300
+ - nedmalloc: fix misleading indentation
301
+
302
+ Squelch compiler warnings for netmalloc (in compat/) library.
303
304
Will merge to 'next'.
305
306
97
-* jc/hashmap-doc-init (2016-08-02) 1 commit
98
- - hashmap: clarify that hashmap_entry can safely be discarded
307
+* mh/diff-indent-heuristic (2016-08-04) 8 commits
308
+ - diff: improve positioning of add/delete blocks in diffs
309
+ - is_blank_line: take a single xrecord_t as argument
310
+ - xdl_change_compact(): keep track of the earliest end
311
+ - xdl_change_compact(): fix compaction heuristic to adjust io
312
+ - xdl_change_compact(): do one final shift or the other, not both
313
+ - xdl_change_compact(): rename i to end
314
+ - xdl_change_compact(): clarify code
315
+ - xdl_change_compact(): rename some local variables for clarity
316
+
317
+ Output from "git diff" can be made easier to read by selecting
318
+ which lines are common and which lines are added/deleted
319
+ intelligently when the lines before and after the changed section
320
+ are the same. A command line option is added to help with the
321
+ experiment to find a good heuristics.
322
+
323
+--------------------------------------------------
324
+[Stalled]
325
+
326
+* jc/bundle (2016-03-03) 6 commits
327
+ - index-pack: --clone-bundle option
328
+ - Merge branch 'jc/index-pack' into jc/bundle
329
+ - bundle v3: the beginning
330
+ - bundle: keep a copy of bundle file name in the in-core bundle header
331
+ - bundle: plug resource leak
332
+ - bundle doc: 'verify' is not about verifying the bundle
333
+
334
+ The beginning of "split bundle", which could be one of the
335
+ ingredients to allow "git clone" traffic off of the core server
336
+ network to CDN.
337
+
338
+ While I think it would make it easier for people to experiment and
339
+ build on if the topic is merged to 'next', I am at the same time a
340
+ bit reluctant to merge an unproven new topic that introduces a new
341
+ file format, which we may end up having to support til the end of
342
+ time. It is likely that to support a "prime clone from CDN", it
343
+ would need a lot more than just "these are the heads and the pack
344
+ data is over there", so this may not be sufficient.
345
+
346
+ Will discard.
347
+
348
+
349
+* jc/blame-reverse (2016-06-14) 2 commits
350
+ - blame: dwim "blame --reverse OLD" as "blame --reverse OLD.."
351
+ - blame: improve diagnosis for "--reverse NEW"
352
+
353
+ It is a common mistake to say "git blame --reverse OLD path",
354
+ expecting that the command line is dwimmed as if asking how lines
355
+ in path in an old revision OLD have survived up to the current
356
+ commit.
357
+
358
+ Has been waiting for positive responses without seeing any.
359
+
360
+ Will discard.
361
+
362
+
363
+* dt/index-helper (2016-07-06) 21 commits
364
+ - index-helper: indexhelper.exitAfter config
365
+ - trace: measure where the time is spent in the index-heavy operations
366
+ - index-helper: optionally automatically run
367
+ - index-helper: autorun mode
368
+ - index-helper: don't run if already running
369
+ - index-helper: kill mode
370
+ - watchman: add a config option to enable the extension
371
+ - unpack-trees: preserve index extensions
372
+ - update-index: enable/disable watchman support
373
+ - index-helper: use watchman to avoid refreshing index with lstat()
374
+ - watchman: support watchman to reduce index refresh cost
375
+ - read-cache: add watchman 'WAMA' extension
376
+ - index-helper: log warnings
377
+ - index-helper: add --detach
378
+ - daemonize(): set a flag before exiting the main process
379
+ - index-helper: add --strict
380
+ - index-helper: new daemon for caching index and related stuff
381
+ - unix-socket.c: add stub implementation when unix sockets are not supported
382
+ - pkt-line: add gentle version of packet_write
383
+ - read-cache: allow to keep mmap'd memory after reading
384
+ - read-cache.c: fix constness of verify_hdr()
385
+
386
+ A new "index-helper" daemon has been introduced to give newly
387
+ spawned Git process a quicker access to the data in the index, and
388
+ optionally interface with the watchman daemon to further reduce the
389
+ refresh cost.
390
+
391
+ Not quite ready yet, it seems.
392
+ cf. <alpine.DEB.2.20.1607061016330.6426@virtualbox>
393
+ cf. <CACsJy8AiER_=5aJ65r+GPCE_nXbrPTAMKJi=FuJgT8zzV2-NFw@mail.gmail.com>
394
+
395
+
396
+* po/range-doc (2016-07-20) 8 commits
397
+ - doc: revisions - clarify reachability examples
398
+ - doc: revisions - define `reachable`
399
+ - doc: gitrevisions - clarify 'latter case' is revision walk
400
+ - doc: gitrevisions - use 'reachable' in page description
401
+ - doc: give headings for the two and three dot notations
402
+ - doc: show the actual left, right, and boundary marks
403
+ - doc: revisions - name the left and right sides
404
+ - doc: use 'symmetric difference' consistently
405
+
406
+ Clarify various ways to specify the "revision ranges" in the
407
+ documentation.
408
+
409
+ Updates in 4/8 ("give headings") is reported to break formatting?
410
+ cf. <57913C97.1030001@xiplink.com>
411
+
412
+
413
+* jc/attr (2016-05-25) 18 commits
414
+ - attr: support quoting pathname patterns in C style
415
+ - attr: expose validity check for attribute names
416
+ - attr: add counted string version of git_attr()
417
+ - attr: add counted string version of git_check_attr()
418
+ - attr: retire git_check_attrs() API
419
+ - attr: convert git_check_attrs() callers to use the new API
420
+ - attr: convert git_all_attrs() to use "struct git_attr_check"
421
+ - attr: (re)introduce git_check_attr() and struct git_attr_check
422
+ - attr: rename function and struct related to checking attributes
423
+ - attr.c: plug small leak in parse_attr_line()
424
+ - attr.c: tighten constness around "git_attr" structure
425
+ - attr.c: simplify macroexpand_one()
426
+ - attr.c: mark where #if DEBUG ends more clearly
427
+ - attr.c: complete a sentence in a comment
428
+ - attr.c: explain the lack of attr-name syntax check in parse_attr()
429
+ - attr.c: update a stale comment on "struct match_attr"
430
+ - attr.c: use strchrnul() to scan for one line
431
+ - commit.c: use strchrnul() to scan for one line
432
+ (this branch is used by jc/attr-more, sb/pathspec-label and sb/submodule-default-paths.)
433
+
434
+ The attributes API has been updated so that it can later be
435
+ optimized using the knowledge of which attributes are queried.
436
+
437
+ I wanted to polish this topic further to make the attribute
438
+ subsystem thread-ready, but because other topics depend on this
439
+ topic and they do not (yet) need it to be thread-ready.
440
+
441
+ As the authors of topics that depend on this seem not in a hurry,
442
+ let's discard this and dependent topics and restart them some other
443
+ day.
444
+
445
+ Will discard.
446
+
447
+
448
+* jc/attr-more (2016-06-09) 8 commits
449
+ - attr.c: outline the future plans by heavily commenting
450
+ - attr.c: always pass check[] to collect_some_attrs()
451
+ - attr.c: introduce empty_attr_check_elems()
452
+ - attr.c: correct ugly hack for git_all_attrs()
453
+ - attr.c: rename a local variable check
454
+ - fixup! d5ad6c13
455
+ - attr.c: pass struct git_attr_check down the callchain
456
+ - attr.c: add push_stack() helper
457
+ (this branch uses jc/attr; is tangled with sb/pathspec-label and sb/submodule-default-paths.)
458
+
459
+ The beginning of long and tortuous journey to clean-up attribute
460
+ subsystem implementation.
461
+
462
+ Needs to be redone.
463
+ Will discard.
464
+
465
+
466
+* sb/submodule-default-paths (2016-06-20) 5 commits
467
+ - completion: clone can recurse into submodules
468
+ - clone: add --init-submodule=<pathspec> switch
469
+ - submodule update: add `--init-default-path` switch
470
+ - Merge branch 'sb/pathspec-label' into sb/submodule-default-paths
471
+ - Merge branch 'jc/attr' into sb/submodule-default-paths
472
+ (this branch uses jc/attr and sb/pathspec-label; is tangled with jc/attr-more.)
473
+
474
+ Allow specifying the set of submodules the user is interested in on
475
+ the command line of "git clone" that clones the superproject.
476
+
477
+ Will discard.
478
+
479
+
480
+* sb/pathspec-label (2016-06-03) 6 commits
481
+ - pathspec: disable preload-index when attribute pathspec magic is in use
482
+ - pathspec: allow escaped query values
483
+ - pathspec: allow querying for attributes
484
+ - pathspec: move prefix check out of the inner loop
485
+ - pathspec: move long magic parsing out of prefix_pathspec
486
+ - Documentation: fix a typo
487
+ (this branch is used by sb/submodule-default-paths; uses jc/attr; is tangled with jc/attr-more.)
488
100
- The API documentation for hashmap was unclear if hashmap_entry
101
- can be safely discarded without any other consideration. State
102
- that it is safe to do so.
489
+ The pathspec mechanism learned ":(attr:X)$pattern" pathspec magic
490
+ to limit paths that match $pattern further by attribute settings.
491
+ The preload-index mechanism is disabled when the new pathspec magic
492
+ is in use (at least for now), because the attribute subsystem is
493
+ not thread-ready.
494
104
---------------------------------------------------
105
-[Stalled]
495
+ Will discard.
496
107
-* jh/clean-smudge-annex (2016-08-01) 9 commits
108
- - use smudgeToFile filter in recursive merge
109
- - use smudgeToFile filter in git am
110
- - better recovery from failure of smudgeToFile filter
111
- - warn on unusable smudgeToFile/cleanFromFile config
112
- - use smudgeToFile in git checkout etc
113
- - use cleanFromFile in git add
114
- - add smudgeToFile and cleanFromFile filter configs
115
- - clarify %f documentation
116
- - Merge branch 'cc/apply-am' into HEAD
117
- (this branch uses cc/apply-am.)
497
119
- The interface to "clean/smudge" filters require Git to feed the
120
- whole contents via pipe, which is suboptimal for some applications.
121
- "cleanFromFile/smudgeToFile" commands are the moral equilvalents
122
- for these filters but they interact with the files on the
123
- filesystem directly.
498
+* mh/connect (2016-06-06) 10 commits
499
+ - connect: [host:port] is legacy for ssh
500
+ - connect: move ssh command line preparation to a separate function
501
+ - connect: actively reject git:// urls with a user part
502
+ - connect: change the --diag-url output to separate user and host
503
+ - connect: make parse_connect_url() return the user part of the url as a separate value
504
+ - connect: group CONNECT_DIAG_URL handling code
505
+ - connect: make parse_connect_url() return separated host and port
506
+ - connect: re-derive a host:port string from the separate host and port variables
507
+ - connect: call get_host_and_port() earlier
508
+ - connect: document why we sometimes call get_port after get_host_and_port
509
125
- This is starting to bit-rot, as the topic it is built upon keeps
126
- getting rerolled. I _think_ I rebased it correctly, but I would
127
- not be surprised if I made a mistake.
510
+ Rewrite Git-URL parsing routine (hopefully) without changing any
511
+ behaviour.
512
129
- Will discard if/when I have to do another rebase, preferring to
130
- have a fresh reroll directly from the author.
513
+ It has been two months without any support. We may want to discard
514
+ this.
515
516
517
* sb/bisect (2016-04-15) 22 commits
@@ -161,12 +545,10 @@ of the repositories listed at
545
more and more parts from git-bisect.sh, this needs to see a fresh
546
reroll.
547
164
- Will discard for now.
548
+ Will discard.
549
cf. <1460294354-7031-1-git-send-email-s-beyer@gmx.net>
550
551
168
-
169
-
552
* sg/completion-updates (2016-02-28) 21 commits
553
. completion: cache the path to the repository
554
. completion: extract repository discovery from __gitdir()
@@ -190,9 +572,12 @@ of the repositories listed at
572
. completion tests: don't add test cruft to the test repository
573
. completion: improve __git_refs()'s in-code documentation
574
193
- Will be rerolled.
575
+ Has been waiting for a reroll for too long.
576
cf. <1456754714-25237-1-git-send-email-szeder@ira.uka.de>
577
578
+ Will discard.
579
+
580
+
581
582
* ec/annotate-deleted (2015-11-20) 1 commit
583
- annotate: skip checking working tree if a revision is provided
@@ -200,7 +585,10 @@ of the repositories listed at
585
Usability fix for annotate-specific "<file> <rev>" syntax with deleted
586
files.
587
203
- Waiting for review.
588
+ Has been waiting for a review for too long without seeing anything.
589
+
590
+ Will discard.
591
+
592
593
594
* dk/gc-more-wo-pack (2016-01-13) 4 commits
@@ -212,9 +600,11 @@ of the repositories listed at
600
Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
601
.bitmap and .keep files.
602
215
- Waiting for a reroll.
603
+ Has been waiting for a reroll for too long.
604
cf. <xmqq60ypbeng.fsf@gitster.mtv.corp.google.com>
605
606
+ Will discard.
607
+
608
609
* jc/diff-b-m (2015-02-23) 5 commits
610
. WIPWIP
@@ -229,97 +619,188 @@ of the repositories listed at
619
other place.
620
621
The fix in this patch is broken, unfortunately.
622
+
623
Will discard.
624
625
--------------------------------------------------
626
[Cooking]
627
628
+* ab/gitweb-link-html-escape (2016-08-01) 1 commit
629
+ (merged to 'next' on 2016-08-03 at 44b6088)
630
+ + gitweb: escape link body in format_ref_marker
631
+
632
+ The characters in the label shown for tags/refs for commits in
633
+ "gitweb" output are now properly escaped for proper HTML output.
634
+
635
+ Will merge to 'master'.
636
+
637
+
638
+* ew/build-time-pager-tweaks (2016-08-04) 1 commit
639
+ - pager: move pager-specific setup into the build
640
+
641
+ The build procedure learned PAGER_ENV knob that lists what default
642
+ environment variable settings to export for popular pagers. This
643
+ mechanism is used to tweak the default settings to MORE on FreeBSD.
644
+
645
+ Will merge to 'next'.
646
+
647
+
648
+* ib/t3700-add-chmod-x-updates (2016-08-01) 3 commits
649
+ (merged to 'next' on 2016-08-03 at 1753346)
650
+ + t3700: add a test_mode_in_index helper function
651
+ + t3700: merge two tests into one
652
+ + t3700: remove unwanted leftover files before running new tests
653
+
654
+ The t3700 test about "add --chmod=-x" have been made a bit more
655
+ robust and generally cleaned up.
656
+
657
+ Will merge to 'master'.
658
+
659
+
660
+* jt/format-patch-from-config (2016-08-01) 1 commit
661
+ - format-patch: format.from gives the default for --from
662
+
663
+ "git format-patch" learned format.from configuration variable to
664
+ specify the default settings for its "--from" option.
665
+
666
+ Will merge to 'next'.
667
+
668
+
669
+* rs/st-mult (2016-08-01) 1 commit
670
+ (merged to 'next' on 2016-08-03 at 5c6956a)
671
+ + pass constants as first argument to st_mult()
672
+
673
+ Micro optimization of st_mult() facility used to check the integer
674
+ overflow coming from multiplication to compute size of memory
675
+ allocation.
676
+
677
+ Will merge to 'master'.
678
+
679
+
680
+* rs/use-strbuf-addstr (2016-08-01) 1 commit
681
+ (merged to 'next' on 2016-08-03 at 523422f)
682
+ + use strbuf_addstr() for adding constant strings to a strbuf
683
+
684
+ Will merge to 'master'.
685
+
686
+
687
+* sb/submodule-update-dot-branch (2016-08-03) 7 commits
688
+ (merged to 'next' on 2016-08-04 at 47bff41)
689
+ + submodule update: allow '.' for branch value
690
+ + submodule--helper: add remote-branch helper
691
+ + submodule-config: keep configured branch around
692
+ + submodule--helper: fix usage string for relative-path
693
+ + submodule update: narrow scope of local variable
694
+ + submodule update: respect depth in subsequent fetches
695
+ + t7406: future proof tests with hard coded depth
696
+
697
+ A few updates to "git submodule update".
698
+
699
+ Will merge to 'master'.
700
+
701
+
702
+* jc/hashmap-doc-init (2016-08-02) 1 commit
703
+ - hashmap: clarify that hashmap_entry can safely be discarded
704
+
705
+ The API documentation for hashmap was unclear if hashmap_entry
706
+ can be safely discarded without any other consideration. State
707
+ that it is safe to do so.
708
+
709
+ Will merge to 'next'.
710
+
711
+
712
* cc/apply-am (2016-08-01) 42 commits
238
- - fixup! apply: make it possible to silently apply
239
- - builtin/am: use apply api in run_apply()
240
- - apply: refactor `git apply` option parsing
241
- - apply: change error_routine when silent
242
- - usage: add get_error_routine() and get_warn_routine()
243
- - usage: add set_warn_routine()
244
- - apply: don't print on stdout in verbosity_silent mode
245
- - apply: make it possible to silently apply
246
- - write_or_die: use warning() instead of fprintf(stderr, ...)
247
- - environment: add set_index_file()
248
- - apply: use error_errno() where possible
249
- - apply: make some parsing functions static again
250
- - apply: move libified code from builtin/apply.c to apply.{c,h}
251
- - apply: rename and move opt constants to apply.h
252
- - builtin/apply: rename option parsing functions
253
- - builtin/apply: make create_one_file() return -1 on error
254
- - builtin/apply: make try_create_file() return -1 on error
255
- - builtin/apply: make write_out_results() return -1 on error
256
- - builtin/apply: make write_out_one_result() return -1 on error
257
- - builtin/apply: make create_file() return -1 on error
258
- - builtin/apply: make add_index_file() return -1 on error
259
- - builtin/apply: make add_conflicted_stages_file() return -1 on error
260
- - builtin/apply: make remove_file() return -1 on error
261
- - builtin/apply: make build_fake_ancestor() return -1 on error
262
- - builtin/apply: change die_on_unsafe_path() to check_unsafe_path()
263
- - builtin/apply: make gitdiff_*() return -1 on error
264
- - builtin/apply: make gitdiff_*() return 1 at end of header
265
- - builtin/apply: make parse_traditional_patch() return -1 on error
266
- - builtin/apply: make apply_all_patches() return 128 or 1 on error
267
- - builtin/apply: move check_apply_state() to apply.c
268
- - builtin/apply: make check_apply_state() return -1 instead of die()ing
269
- - apply: make init_apply_state() return -1 instead of exit()ing
270
- - builtin/apply: move init_apply_state() to apply.c
271
- - builtin/apply: make parse_ignorewhitespace_option() return -1 instead of die()ing
272
- - builtin/apply: make parse_whitespace_option() return -1 instead of die()ing
273
- - builtin/apply: make parse_single_patch() return -1 on error
274
- - builtin/apply: make parse_chunk() return a negative integer on error
275
- - builtin/apply: make find_header() return -128 instead of die()ing
276
- - builtin/apply: read_patch_file() return -1 instead of die()ing
277
- - builtin/apply: make apply_patch() return -1 or -128 instead of die()ing
278
- - apply: move 'struct apply_state' to apply.h
279
- - apply: make some names more specific
713
+ . fixup! apply: make it possible to silently apply
714
+ . builtin/am: use apply api in run_apply()
715
+ . apply: refactor `git apply` option parsing
716
+ . apply: change error_routine when silent
717
+ . usage: add get_error_routine() and get_warn_routine()
718
+ . usage: add set_warn_routine()
719
+ . apply: don't print on stdout in verbosity_silent mode
720
+ . apply: make it possible to silently apply
721
+ . write_or_die: use warning() instead of fprintf(stderr, ...)
722
+ . environment: add set_index_file()
723
+ . apply: use error_errno() where possible
724
+ . apply: make some parsing functions static again
725
+ . apply: move libified code from builtin/apply.c to apply.{c,h}
726
+ . apply: rename and move opt constants to apply.h
727
+ . builtin/apply: rename option parsing functions
728
+ . builtin/apply: make create_one_file() return -1 on error
729
+ . builtin/apply: make try_create_file() return -1 on error
730
+ . builtin/apply: make write_out_results() return -1 on error
731
+ . builtin/apply: make write_out_one_result() return -1 on error
732
+ . builtin/apply: make create_file() return -1 on error
733
+ . builtin/apply: make add_index_file() return -1 on error
734
+ . builtin/apply: make add_conflicted_stages_file() return -1 on error
735
+ . builtin/apply: make remove_file() return -1 on error
736
+ . builtin/apply: make build_fake_ancestor() return -1 on error
737
+ . builtin/apply: change die_on_unsafe_path() to check_unsafe_path()
738
+ . builtin/apply: make gitdiff_*() return -1 on error
739
+ . builtin/apply: make gitdiff_*() return 1 at end of header
740
+ . builtin/apply: make parse_traditional_patch() return -1 on error
741
+ . builtin/apply: make apply_all_patches() return 128 or 1 on error
742
+ . builtin/apply: move check_apply_state() to apply.c
743
+ . builtin/apply: make check_apply_state() return -1 instead of die()ing
744
+ . apply: make init_apply_state() return -1 instead of exit()ing
745
+ . builtin/apply: move init_apply_state() to apply.c
746
+ . builtin/apply: make parse_ignorewhitespace_option() return -1 instead of die()ing
747
+ . builtin/apply: make parse_whitespace_option() return -1 instead of die()ing
748
+ . builtin/apply: make parse_single_patch() return -1 on error
749
+ . builtin/apply: make parse_chunk() return a negative integer on error
750
+ . builtin/apply: make find_header() return -128 instead of die()ing
751
+ . builtin/apply: read_patch_file() return -1 instead of die()ing
752
+ . builtin/apply: make apply_patch() return -1 or -128 instead of die()ing
753
+ . apply: move 'struct apply_state' to apply.h
754
+ . apply: make some names more specific
755
(this branch is used by jh/clean-smudge-annex.)
756
757
"git am" has been taught to make an internal call to "git apply"'s
758
innards without spawning the latter as a separate process.
759
285
- Needs review.
760
+ Temporarily kicked out of 'pu', as it adds more calling sites to a
761
+ function that is going away.
762
+
763
+ cf. <20160804212157.cn7ecyxcbyf4okd7@sigill.intra.peff.net>
764
765
766
* da/subtree-modernize (2016-07-27) 2 commits
289
- - subtree: adjust function definitions to match CodingGuidelines
290
- - subtree: adjust style to match CodingGuidelines
291
- (this branch uses da/subtree-2.9-regression.)
767
+ (merged to 'next' on 2016-08-03 at 06ad015)
768
+ + subtree: adjust function definitions to match CodingGuidelines
769
+ + subtree: adjust style to match CodingGuidelines
770
771
Style fixes for "git subtree" (in contrib/).
772
295
- Will merge to 'next'.
773
+ Will merge to 'master'.
774
775
776
* js/rebase-i-progress-tidy (2016-07-28) 1 commit
299
- - rebase-interactive: trim leading whitespace from progress count
777
+ (merged to 'next' on 2016-08-03 at bb1b414)
778
+ + rebase-interactive: trim leading whitespace from progress count
779
780
Regression fix for an i18n topic already in 'master'.
781
303
- Will merge to 'next'.
782
+ Will merge to 'master'.
783
784
785
* jk/t4205-cleanup (2016-07-27) 2 commits
307
- - t4205: indent here documents
308
- - t4205: drop top-level &&-chaining
786
+ (merged to 'next' on 2016-08-03 at ba9b594)
787
+ + t4205: indent here documents
788
+ + t4205: drop top-level &&-chaining
789
790
Test modernization.
791
312
- Will merge to 'next'.
792
+ Will merge to 'master'.
793
794
315
-* jk/pack-objects-optim (2016-07-29) 7 commits
316
- - pack-objects: use mru list when iterating over packs
317
- - pack-objects: compute local/ignore_pack_keep early
318
- - pack-objects: break out of want_object loop early
319
- - find_pack_entry: replace last_found_pack with MRU cache
320
- - add generic most-recently-used list
321
- - sha1_file: drop free_pack_by_name
322
- - t/perf: add tests for many-pack scenarios
795
+* jk/pack-objects-optim (2016-07-29) 6 commits
796
+ (merged to 'next' on 2016-08-03 at ad8caca)
797
+ + pack-objects: compute local/ignore_pack_keep early
798
+ + pack-objects: break out of want_object loop early
799
+ + find_pack_entry: replace last_found_pack with MRU cache
800
+ + add generic most-recently-used list
801
+ + sha1_file: drop free_pack_by_name
802
+ + t/perf: add tests for many-pack scenarios
803
+ (this branch is used by jk/pack-objects-optim-mru.)
804
805
"git pack-objects" has a few options that tell it not to pack
806
objects found in certain packfiles, which require it to scan .idx
@@ -327,12 +808,20 @@ of the repositories listed at
808
operations have been optimized for a common case of not having any
809
non-local pack and/or any .kept pack.
810
330
- The last patch is still questionable in that it can attempt to
331
- create a cycle in delta-chain, only to be stopped by the last-ditch
332
- recovery logic in there.
811
+ Will merge to 'master'.
812
+
813
+
814
+* jk/pack-objects-optim-mru (2016-07-29) 1 commit
815
+ - pack-objects: use mru list when iterating over packs
816
+ (this branch uses jk/pack-objects-optim.)
817
+
818
+ This is still questionable in that it can attempt to create a cycle
819
+ in delta-chain, only to be stopped by the last-ditch recovery logic
820
+ in there.
821
822
335
-* kw/patch-ids-optim (2016-07-29) 4 commits
823
+* kw/patch-ids-optim (2016-08-04) 5 commits
824
+ - SQUASH???
825
- rebase: avoid computing unnecessary patch IDs
826
- patch-ids: add flag to create the diff patch id using header only data
827
- patch-ids: replace the seen indicator with a commit pointer
@@ -344,7 +833,7 @@ of the repositories listed at
833
lazily computing the full patch-id (which is expensive) to be
834
compared only for changes that touch the same set of paths.
835
347
- Will merge to 'next'.
836
+ Will merge to 'next' after squashing the fix in.
837
838
839
* jk/rebase-i-drop-ident-check (2016-07-29) 1 commit
@@ -363,7 +852,8 @@ of the repositories listed at
852
853
854
* jk/reset-ident-time-per-commit (2016-08-01) 1 commit
366
- - am: reset cached ident date for each patch
855
+ (merged to 'next' on 2016-08-03 at 76d569c)
856
+ + am: reset cached ident date for each patch
857
858
Not-so-recent rewrite of "git am" that started making internal
859
calls into the commit machinery had an unintended regression, in
@@ -371,205 +861,72 @@ of the repositories listed at
861
resulting committer timestamp for the resulting commits were all
862
the same.
863
374
- Will merge to 'next'.
375
-
376
-
377
-* da/subtree-2.9-regression (2016-07-26) 2 commits
378
- (merged to 'next' on 2016-07-26 at 9d71562)
379
- + subtree: fix "git subtree split --rejoin"
380
- + t7900-subtree.sh: fix quoting and broken && chains
381
- (this branch is used by da/subtree-modernize.)
382
-
383
- "git merge" in Git v2.9 was taught to forbid merging an unrelated
384
- lines of history by default, but that is exactly the kind of thing
385
- the "--rejoin" mode of "git subtree" (in contrib/) wants to do.
386
- "git subtree" has been taught to use the "--allow-unrelated-histories"
387
- option to override the default.
388
-
864
Will merge to 'master'.
865
866
867
* nd/fetch-ref-summary (2016-07-26) 1 commit
393
- - t5510: skip tests under GETTEXT_POISON build
868
+ (merged to 'next' on 2016-08-03 at c045704)
869
+ + t5510: skip tests under GETTEXT_POISON build
870
871
Hotfix of a test in a topic that has already been merged to 'master'.
872
397
- Will merge to 'next'.
398
-
399
-
400
-* os/no-verify-skips-commit-msg-too (2016-07-26) 1 commit
401
- (merged to 'next' on 2016-07-26 at 09b98b9)
402
- + commit: describe that --no-verify skips the commit-msg hook in the help text
403
-
404
- "git commit --help" said "--no-verify" is only about skipping the
405
- pre-commit hook, and failed to say that it also skipped the
406
- commit-msg hook.
407
-
408
- Will merge to 'master'.
409
-
410
-
411
-* cp/completion-clone-recurse-submodules (2016-07-27) 1 commit
412
- - completion: add option '--recurse-submodules' to 'git clone'
413
-
414
- Will merge to 'next'.
415
-
416
-
417
-* va/i18n (2016-07-28) 2 commits
418
- - i18n: config: unfold error messages marked for translation
419
- - i18n: notes: mark comment for translation
420
-
421
- More i18n marking.
422
-
423
- Will merge to 'next'.
424
-
425
-
426
-* jc/grep-commandline-vs-configuration (2016-07-25) 1 commit
427
- (merged to 'next' on 2016-07-28 at dd53273)
428
- + grep: further simplify setting the pattern type
429
-
430
- "git -c grep.patternType=extended log --basic-regexp" misbehaved
431
- because the internal API to access the grep machinery was not
432
- designed well.
433
-
434
- Will merge to 'master'.
435
-
436
-
437
-* jk/diff-do-not-reuse-wtf-needs-cleaning (2016-07-22) 1 commit
438
- (merged to 'next' on 2016-07-28 at e3c5190)
439
- + diff: do not reuse worktree files that need "clean" conversion
440
-
441
- There is an optimization used in "git diff $treeA $treeB" to borrow
442
- an already checked-out copy in the working tree when it is known to
443
- be the same as the blob being compared, expecting that open/mmap of
444
- such a file is faster than reading it from the object store, which
445
- involves inflating and applying delta. This however kicked in even
446
- when the checked-out copy needs to go through the convert-to-git
447
- conversion (including the clean filter), which defeats the whole
448
- point of the optimization. The optimization has been disabled when
449
- the conversion is necessary.
450
-
451
- Will merge to 'master'.
452
-
453
-
454
-* jk/git-jump (2016-07-22) 3 commits
455
- (merged to 'next' on 2016-07-28 at 9ef9398)
456
- + contrib/git-jump: fix typo in README
457
- + contrib/git-jump: add whitespace-checking mode
458
- + contrib/git-jump: fix greedy regex when matching hunks
459
-
460
- "git jump" script (in contrib/) has been updated a bit.
461
-
462
- Will merge to 'master'.
463
-
464
-
465
-* jk/parse-options-concat (2016-07-06) 1 commit
466
- (merged to 'next' on 2016-07-28 at 219bc3a)
467
- + parse_options: allocate a new array when concatenating
468
-
469
- Users of the parse_options_concat() API function needs to allocate
470
- extra slots in advance and fill them with OPT_END() when they want
471
- to decide the set of options to support dynamically, which is
472
- error-prone and hard to read. This has been corrected by tweaking
473
- the API to allocate and return a new copy of "struct option" array.
474
-
475
- Will merge to 'master'.
476
-
477
-
478
-* jk/push-progress (2016-07-20) 12 commits
479
- (merged to 'next' on 2016-07-28 at 39598fb)
480
- + receive-pack: send keepalives during quiet periods
481
- + receive-pack: turn on connectivity progress
482
- + receive-pack: relay connectivity errors to sideband
483
- + receive-pack: turn on index-pack resolving progress
484
- + index-pack: add flag for showing delta-resolution progress
485
- + clone: use a real progress meter for connectivity check
486
- + check_connected: add progress flag
487
- + check_connected: relay errors to alternate descriptor
488
- + check_everything_connected: use a struct with named options
489
- + check_everything_connected: convert to argv_array
490
- + rev-list: add optional progress reporting
491
- + check_everything_connected: always pass --quiet to rev-list
492
-
493
- "git push" and "git clone" learned to give better progress meters
494
- to the end user who is waiting on the terminal.
495
-
496
- Will merge to 'master'.
497
-
498
-
499
-* jk/reflog-date (2016-07-27) 7 commits
500
- - date: clarify --date=raw description
501
- - date: add "unix" format
502
- - date: document and test "raw-local" mode
503
- - doc/pretty-formats: explain shortening of %gd
504
- - doc/pretty-formats: describe index/time formats for %gd
505
- - doc/rev-list-options: explain "-g" output formats
506
- - doc/rev-list-options: clarify "commit@{Nth}" for "-g" option
507
-
508
- The reflog output format is documented better, and a new format
509
- --date=unix to report the seconds-since-epoch (without timezone)
510
- has been added.
511
-
512
- Will merge to 'next'.
513
-
514
-
515
-* mm/status-suggest-merge-abort (2016-07-22) 1 commit
516
- (merged to 'next' on 2016-07-28 at b8b87d9)
517
- + status: suggest 'git merge --abort' when appropriate
518
-
519
- "git status" learned to suggest "merge --abort" during a conflicted
520
- merge, just like it already suggests "rebase --abort" during a
521
- conflicted rebase.
522
-
873
Will merge to 'master'.
874
875
526
-* pm/build-persistent-https-with-recent-go (2016-07-22) 2 commits
527
- (merged to 'next' on 2016-07-28 at f6e9115)
528
- + contrib/persistent-https: use Git version for build label
529
- + contrib/persistent-https: update ldflags syntax for Go 1.7+
530
-
531
- The build procedure for "git persistent-https" helper (in contrib/)
532
- has been updated so that it can be built with more recent versions
533
- of Go.
876
+* cp/completion-clone-recurse-submodules (2016-07-27) 1 commit
877
+ (merged to 'next' on 2016-08-03 at cbf0d94)
878
+ + completion: add option '--recurse-submodules' to 'git clone'
879
880
Will merge to 'master'.
881
882
538
-* sb/pack-protocol-doc-nak (2016-07-22) 1 commit
539
- (merged to 'next' on 2016-07-28 at 5c94e0e)
540
- + Documentation: pack-protocol correct NAK response
883
+* va/i18n (2016-07-28) 2 commits
884
+ (merged to 'next' on 2016-08-03 at cf753d2)
885
+ + i18n: config: unfold error messages marked for translation
886
+ + i18n: notes: mark comment for translation
887
542
- A doc update.
888
+ More i18n marking.
889
890
Will merge to 'master'.
891
892
547
-* sb/submodule-clone-retry (2016-07-22) 2 commits
548
- (merged to 'next' on 2016-07-28 at 5487d28)
549
- + submodule-helper: fix indexing in clone retry error reporting path
550
- + git-submodule: forward exit code of git-submodule--helper more faithfully
893
+* jk/reflog-date (2016-07-27) 7 commits
894
+ (merged to 'next' on 2016-08-03 at cd8e92b)
895
+ + date: clarify --date=raw description
896
+ + date: add "unix" format
897
+ + date: document and test "raw-local" mode
898
+ + doc/pretty-formats: explain shortening of %gd
899
+ + doc/pretty-formats: describe index/time formats for %gd
900
+ + doc/rev-list-options: explain "-g" output formats
901
+ + doc/rev-list-options: clarify "commit@{Nth}" for "-g" option
902
552
- An earlier tweak to make "submodule update" retry a failing clone
553
- of submodules was buggy and caused segfault, which has been fixed.
903
+ The reflog output format is documented better, and a new format
904
+ --date=unix to report the seconds-since-epoch (without timezone)
905
+ has been added.
906
907
Will merge to 'master'.
908
909
910
* ew/git-svn-http-tests (2016-07-25) 2 commits
559
- - git svn: migrate tests to use lib-httpd
560
- - t/t91*: do not say how to avoid the tests
911
+ (merged to 'next' on 2016-08-03 at 2b23920)
912
+ + git svn: migrate tests to use lib-httpd
913
+ + t/t91*: do not say how to avoid the tests
914
562
- Reuse the lib-httpd test infrastructure when testing the subversion
563
- integration that interacts with subversion repositories served over
564
- the http:// protocol.
915
+ Tests for "git svn" have been taught to reuse the lib-httpd test
916
+ infrastructure when testing the subversion integration that
917
+ interacts with subversion repositories served over the http://
918
+ protocol.
919
566
- Will merge to 'next'.
920
+ Will merge to 'master'.
921
922
569
-* jk/push-force-with-lease-creation (2016-07-26) 3 commits
570
- - push: allow pushing new branches with --force-with-lease
571
- - push: add shorthand for --force-with-lease branch creation
572
- - Documentation/git-push: fix placeholder formatting
923
+* jk/push-force-with-lease-creation (2016-08-04) 4 commits
924
+ (merged to 'next' on 2016-08-04 at e42ce85)
925
+ + t5533: make it pass on case-sensitive filesystems
926
+ (merged to 'next' on 2016-08-03 at 475c080)
927
+ + push: allow pushing new branches with --force-with-lease
928
+ + push: add shorthand for --force-with-lease branch creation
929
+ + Documentation/git-push: fix placeholder formatting
930
931
"git push --force-with-lease" already had enough logic to allow
932
ensuring that such a push results in creation of a ref (i.e. the
@@ -577,34 +934,6 @@ of the repositories listed at
934
discarded by our force-pushing), but didn't expose this possibility
935
to the users. It does so now.
936
580
- Will merge to 'next'.
581
-
582
-
583
-* jt/fetch-large-handshake-window-on-http (2016-07-19) 1 commit
584
- (merged to 'next' on 2016-07-28 at 5606b14)
585
- + fetch-pack: grow stateless RPC windows exponentially
586
-
587
- "git fetch" exchanges batched have/ack messages between the sender
588
- and the receiver, initially doubling every time and then falling
589
- back to use the maximum window size. The "smart http" transport,
590
- being an half-duplex protocol, outgrows the preset limit too
591
- quickly and becomes inefficient when interacting with a large
592
- repository. The internal mechanism learned to grow the window size
593
- more aggressively when working with the "smart http" transport.
594
-
595
- Will merge to 'master'.
596
-
597
-
598
-* rs/submodule-config-code-cleanup (2016-07-28) 4 commits
599
- (merged to 'next' on 2016-07-28 at e25450e)
600
- + submodule-config: fix test binary crashing when no arguments given
601
- + submodule-config: combine early return code into one goto
602
- + submodule-config: passing name reference for .gitmodule blobs
603
- (merged to 'next' on 2016-07-19 at 59dbd58)
604
- + submodule-config: use explicit empty string instead of strbuf in config_from()
605
-
606
- Code cleanup.
607
-
937
Will merge to 'master'.
938
939
@@ -630,41 +959,13 @@ of the repositories listed at
959
to a three-way merge; this call has been turned into an internal
960
subroutine call instead of spawning a separate subprocess.
961
633
- These mostly looked sensible, but it is dubious if it is a good
634
- feature to send what is meant to the standard error to the standard
635
- output.
962
+ Will merge to 'next'.
963
964
Eyes from other people are highly appreciated, as my eyes (and the
965
original author's, too) have rotten by staring many rerolls of the
966
same topic and are not effective in spotting errors.
967
968
642
-* sb/push-options (2016-07-14) 4 commits
643
- (merged to 'next' on 2016-07-19 at ee9a83a)
644
- + add a test for push options
645
- + push: accept push options
646
- + receive-pack: implement advertising and receiving push options
647
- + push options: {pre,post}-receive hook learns about push options
648
-
649
- "git push" learned to accept and pass extra options to the
650
- receiving end so that hooks can read and react to them.
651
-
652
- Will merge to 'master'.
653
-
654
-
655
-* ew/http-walker (2016-07-18) 4 commits
656
- (merged to 'next' on 2016-07-18 at a430a97)
657
- + list: avoid incompatibility with *BSD sys/queue.h
658
- (merged to 'next' on 2016-07-13 at 8585c03)
659
- + http-walker: reduce O(n) ops with doubly-linked list
660
- + http: avoid disconnecting on 404s for loose objects
661
- + http-walker: remove unused parameter from fetch_object
662
-
663
- Optimize dumb http transport on the client side.
664
-
665
- Will merge to 'master'.
666
-
667
-
969
* nd/log-decorate-color-head-arrow (2016-07-12) 1 commit
970
- log: decorate HEAD -> branch with the same color for arrow and HEAD
971
@@ -673,19 +974,20 @@ of the repositories listed at
974
paint the arrow in the same color as "HEAD", not in the color for
975
commits.
976
676
- Comments? Personally I find it more-or-less "Meh".
977
+ Will merge to 'next'.
978
979
980
* jk/difftool-in-subdir (2016-07-28) 3 commits
680
- - difftool: use Git::* functions instead of passing around state
681
- - difftool: avoid $GIT_DIR and $GIT_WORK_TREE
682
- - difftool: fix argument handling in subdirs
981
+ (merged to 'next' on 2016-08-03 at 90f195a)
982
+ + difftool: use Git::* functions instead of passing around state
983
+ + difftool: avoid $GIT_DIR and $GIT_WORK_TREE
984
+ + difftool: fix argument handling in subdirs
985
986
"git difftool <paths>..." started in a subdirectory failed to
987
interpret the paths relative to that directory, which has been
988
fixed.
989
688
- Will merge to 'next'.
990
+ Will merge to 'master'.
991
992
993
* dp/autoconf-curl-ssl (2016-06-28) 1 commit
@@ -707,23 +1009,6 @@ of the repositories listed at
1009
Needs a real log message and a few tests.
1010
1011
710
-* po/range-doc (2016-07-20) 8 commits
711
- - doc: revisions - clarify reachability examples
712
- - doc: revisions - define `reachable`
713
- - doc: gitrevisions - clarify 'latter case' is revision walk
714
- - doc: gitrevisions - use 'reachable' in page description
715
- - doc: give headings for the two and three dot notations
716
- - doc: show the actual left, right, and boundary marks
717
- - doc: revisions - name the left and right sides
718
- - doc: use 'symmetric difference' consistently
719
-
720
- Clarify various ways to specify the "revision ranges" in the
721
- documentation.
722
-
723
- Updates in 4/8 ("give headings") is reported to break formatting?
724
- cf. <57913C97.1030001@xiplink.com>
725
-
726
-
1012
* ex/deprecate-empty-pathspec-as-match-all (2016-06-22) 1 commit
1013
(merged to 'next' on 2016-07-13 at d9ca7fb)
1014
+ pathspec: warn on empty strings as pathspec
@@ -789,18 +1074,6 @@ of the repositories listed at
1074
cf. <576D9885.2020901@ramsayjones.plus.com>
1075
1076
792
-* jc/blame-reverse (2016-06-14) 2 commits
793
- - blame: dwim "blame --reverse OLD" as "blame --reverse OLD.."
794
- - blame: improve diagnosis for "--reverse NEW"
795
-
796
- It is a common mistake to say "git blame --reverse OLD path",
797
- expecting that the command line is dwimmed as if asking how lines
798
- in path in an old revision OLD have survived up to the current
799
- commit.
800
-
801
- Any supporters? Otherwise will drop.
802
-
803
-
1077
* nd/shallow-deepen (2016-06-13) 27 commits
1078
- fetch, upload-pack: --deepen=N extends shallow boundary by N commits
1079
- upload-pack: add get_reachable_list()
@@ -844,84 +1117,6 @@ of the repositories listed at
1117
would think.
1118
1119
847
-* jc/attr-more (2016-06-09) 8 commits
848
- - attr.c: outline the future plans by heavily commenting
849
- - attr.c: always pass check[] to collect_some_attrs()
850
- - attr.c: introduce empty_attr_check_elems()
851
- - attr.c: correct ugly hack for git_all_attrs()
852
- - attr.c: rename a local variable check
853
- - fixup! d5ad6c13
854
- - attr.c: pass struct git_attr_check down the callchain
855
- - attr.c: add push_stack() helper
856
- (this branch uses jc/attr; is tangled with sb/pathspec-label and sb/submodule-default-paths.)
857
-
858
- The beginning of long and tortuous journey to clean-up attribute
859
- subsystem implementation.
860
-
861
- Needs to be redone.
862
-
863
-
864
-* mh/connect (2016-06-06) 10 commits
865
- - connect: [host:port] is legacy for ssh
866
- - connect: move ssh command line preparation to a separate function
867
- - connect: actively reject git:// urls with a user part
868
- - connect: change the --diag-url output to separate user and host
869
- - connect: make parse_connect_url() return the user part of the url as a separate value
870
- - connect: group CONNECT_DIAG_URL handling code
871
- - connect: make parse_connect_url() return separated host and port
872
- - connect: re-derive a host:port string from the separate host and port variables
873
- - connect: call get_host_and_port() earlier
874
- - connect: document why we sometimes call get_port after get_host_and_port
875
-
876
- Rewrite Git-URL parsing routine (hopefully) without changing any
877
- behaviour.
878
-
879
- Comments?
880
-
881
-
882
-* sb/submodule-default-paths (2016-06-20) 5 commits
883
- - completion: clone can recurse into submodules
884
- - clone: add --init-submodule=<pathspec> switch
885
- - submodule update: add `--init-default-path` switch
886
- - Merge branch 'sb/pathspec-label' into sb/submodule-default-paths
887
- - Merge branch 'jc/attr' into sb/submodule-default-paths
888
- (this branch uses jc/attr and sb/pathspec-label; is tangled with jc/attr-more.)
889
-
890
- Allow specifying the set of submodules the user is interested in on
891
- the command line of "git clone" that clones the superproject.
892
-
893
-
894
-* jc/attr (2016-05-25) 18 commits
895
- - attr: support quoting pathname patterns in C style
896
- - attr: expose validity check for attribute names
897
- - attr: add counted string version of git_attr()
898
- - attr: add counted string version of git_check_attr()
899
- - attr: retire git_check_attrs() API
900
- - attr: convert git_check_attrs() callers to use the new API
901
- - attr: convert git_all_attrs() to use "struct git_attr_check"
902
- - attr: (re)introduce git_check_attr() and struct git_attr_check
903
- - attr: rename function and struct related to checking attributes
904
- - attr.c: plug small leak in parse_attr_line()
905
- - attr.c: tighten constness around "git_attr" structure
906
- - attr.c: simplify macroexpand_one()
907
- - attr.c: mark where #if DEBUG ends more clearly
908
- - attr.c: complete a sentence in a comment
909
- - attr.c: explain the lack of attr-name syntax check in parse_attr()
910
- - attr.c: update a stale comment on "struct match_attr"
911
- - attr.c: use strchrnul() to scan for one line
912
- - commit.c: use strchrnul() to scan for one line
913
- (this branch is used by jc/attr-more, sb/pathspec-label and sb/submodule-default-paths.)
914
-
915
- The attributes API has been updated so that it can later be
916
- optimized using the knowledge of which attributes are queried.
917
-
918
- I wanted to polish this topic further to make the attribute
919
- subsystem thread-ready, but because other topics depend on this
920
- topic and they do not (yet) need it to be thread-ready, let's merge
921
- this early part together with the dependent topics to 'next', and
922
- back-burner the threading enhancement to another day.
923
-
924
-
1120
* pb/bisect (2016-08-02) 13 commits
1121
. bisect--helper: `bisect_start` shell function partially in C
1122
. bisect--helper: `get_terms` & `bisect_terms` shell function in C
@@ -944,22 +1139,6 @@ of the repositories listed at
1139
not quite yet.
1140
1141
947
-* sb/pathspec-label (2016-06-03) 6 commits
948
- - pathspec: disable preload-index when attribute pathspec magic is in use
949
- - pathspec: allow escaped query values
950
- - pathspec: allow querying for attributes
951
- - pathspec: move prefix check out of the inner loop
952
- - pathspec: move long magic parsing out of prefix_pathspec
953
- - Documentation: fix a typo
954
- (this branch is used by sb/submodule-default-paths; uses jc/attr; is tangled with jc/attr-more.)
955
-
956
- The pathspec mechanism learned ":(attr:X)$pattern" pathspec magic
957
- to limit paths that match $pattern further by attribute settings.
958
- The preload-index mechanism is disabled when the new pathspec magic
959
- is in use (at least for now), because the attribute subsystem is
960
- not thread-ready.
961
-
962
-
1142
* kn/ref-filter-branch-list (2016-05-17) 17 commits
1143
- branch: implement '--format' option
1144
- branch: use ref-filter printing APIs
@@ -986,58 +1165,6 @@ of the repositories listed at
1165
This also really needs review.
1166
1167
989
-* dt/index-helper (2016-07-06) 21 commits
990
- - index-helper: indexhelper.exitAfter config
991
- - trace: measure where the time is spent in the index-heavy operations
992
- - index-helper: optionally automatically run
993
- - index-helper: autorun mode
994
- - index-helper: don't run if already running
995
- - index-helper: kill mode
996
- - watchman: add a config option to enable the extension
997
- - unpack-trees: preserve index extensions
998
- - update-index: enable/disable watchman support
999
- - index-helper: use watchman to avoid refreshing index with lstat()
1000
- - watchman: support watchman to reduce index refresh cost
1001
- - read-cache: add watchman 'WAMA' extension
1002
- - index-helper: log warnings
1003
- - index-helper: add --detach
1004
- - daemonize(): set a flag before exiting the main process
1005
- - index-helper: add --strict
1006
- - index-helper: new daemon for caching index and related stuff
1007
- - unix-socket.c: add stub implementation when unix sockets are not supported
1008
- - pkt-line: add gentle version of packet_write
1009
- - read-cache: allow to keep mmap'd memory after reading
1010
- - read-cache.c: fix constness of verify_hdr()
1011
-
1012
- A new "index-helper" daemon has been introduced to give newly
1013
- spawned Git process a quicker access to the data in the index, and
1014
- optionally interface with the watchman daemon to further reduce the
1015
- refresh cost.
1016
-
1017
- Not quite ready yet, it seems.
1018
- cf. <alpine.DEB.2.20.1607061016330.6426@virtualbox>
1019
- cf. <CACsJy8AiER_=5aJ65r+GPCE_nXbrPTAMKJi=FuJgT8zzV2-NFw@mail.gmail.com>
1020
-
1021
-
1022
-* jc/bundle (2016-03-03) 6 commits
1023
- - index-pack: --clone-bundle option
1024
- - Merge branch 'jc/index-pack' into jc/bundle
1025
- - bundle v3: the beginning
1026
- - bundle: keep a copy of bundle file name in the in-core bundle header
1027
- - bundle: plug resource leak
1028
- - bundle doc: 'verify' is not about verifying the bundle
1029
-
1030
- The beginning of "split bundle", which could be one of the
1031
- ingredients to allow "git clone" traffic off of the core server
1032
- network to CDN.
1033
-
1034
- While I think it would make it easier for people to experiment and
1035
- build on if the topic is merged to 'next', I am at the same time a
1036
- bit reluctant to merge an unproven new topic that introduces a new
1037
- file format, which we may end up having to support til the end of
1038
- time. Comments?
1039
-
1040
-
1168
* jc/merge-drop-old-syntax (2015-04-29) 1 commit
1169
- merge: drop 'git merge <message> HEAD <commit>' syntax
1170
@@ -1052,9 +1179,24 @@ of the repositories listed at
1179
--------------------------------------------------
1180
[Discarded]
1181
1055
-* ew/svn-authorsprog-doc (2016-07-19) 1 commit
1056
- . git-svn: document svn.authorsProg in config
1182
+* jh/clean-smudge-annex (2016-08-01) 9 commits
1183
+ . use smudgeToFile filter in recursive merge
1184
+ . use smudgeToFile filter in git am
1185
+ . better recovery from failure of smudgeToFile filter
1186
+ . warn on unusable smudgeToFile/cleanFromFile config
1187
+ . use smudgeToFile in git checkout etc
1188
+ . use cleanFromFile in git add
1189
+ . add smudgeToFile and cleanFromFile filter configs
1190
+ . clarify %f documentation
1191
+ . Merge branch 'cc/apply-am' into HEAD
1192
+ (this branch uses cc/apply-am.)
1193
1058
- Belated doc update.
1194
+ The interface to "clean/smudge" filters require Git to feed the
1195
+ whole contents via pipe, which is suboptimal for some applications.
1196
+ "cleanFromFile/smudgeToFile" commands are the moral equilvalents
1197
+ for these filters but they interact with the files on the
1198
+ filesystem directly.
1199
1060
- Pulled directly from upstream hence discarded.
1200
+ This is starting to bit-rot, as the topic it is built upon keeps
1201
+ getting rerolled. I _think_ I rebased it correctly, but I would
1202
+ not be surprised if I made a mistake.