What's cooking (2019/01 #01)

Junio C Hamano committed Jan 7, 2019 at 15:33 UTC 0596e1ad5143dab167e62bf39387d2b4e06cadb6
1 file changed +656 -375
whats-cooking.txt
+656 -375
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Dec 2018, #02; Fri, 28)
4 -X-master-at: b21ebb671bb7dea8d342225f0d66c41f4e54d5ca
5 -X-next-at: 81188d93c3fce477216ba905bd37ab453a74b11d
3 +Subject: What's cooking in git.git (Jan 2019, #01; Mon, 7)
4 +X-master-at: ecbdaf0899161c067986e9d9d564586d4b045d62
5 +X-next-at: d81d796ee0c49eae40e3f85467a8e6b18022bcea
6
7 -What's cooking in git.git (Dec 2018, #02; Fri, 28)
7 +What's cooking in git.git (Jan 2019, #01; Mon, 7)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,15 +12,8 @@ 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 -The current state is that 'next' has been rewound, a few topics have
16 -been updated, and almost no new topics have been picked up (yet),
17 -even though many of them seem to have been reviewed on-list and I've
18 -also looked at some of them.
19 -
20 -Sorry for being slow to recover from the year-end slowness; the 2.20
21 -release being rather large-ish and needed brown-paper-bag fixes soon
22 -after it, my temporary trans-pacific migration, or me catching cold
23 -that I haven't shaken off, did not help X-<.
15 +The 'master' branch now has the first batch of topics (many of which
16 +have been cooking in 'next' during the pre-release freeze).
17
18 You can find the changes described here in the integration branches
19 of the repositories listed at
@@ -30,48 +23,528 @@ of the repositories listed at
23 --------------------------------------------------
24 [Graduated to "master"]
25
33 -* ds/hash-independent-tests-fix (2018-12-12) 1 commit
34 - + .gitattributes: ensure t/oid-info/* has eol=lf
26 +* ab/push-dwim-dst (2018-11-14) 7 commits
27 + (merged to 'next' on 2018-12-28 at d9f618de10)
28 + + push doc: document the DWYM behavior pushing to unqualified <dst>
29 + + push: test that <src> doesn't DWYM if <dst> is unqualified
30 + + push: add an advice on unqualified <dst> push
31 + + push: move unqualified refname error into a function
32 + + push: improve the error shown on unqualified <dst> push
33 + + i18n: remote.c: mark error(...) messages for translation
34 + + remote.c: add braces in anticipation of a follow-up change
35 +
36 + Originally merged to 'next' on 2018-11-18
37 +
38 + "git push $there $src:$dst" rejects when $dst is not a fully
39 + qualified refname and not clear what the end user meant. The
40 + codepath has been taught to give a clearer error message, and also
41 + guess where the push should go by taking the type of the pushed
42 + object into account (e.g. a tag object would want to go under
43 + refs/tags/).
44 +
45 +
46 +* en/fast-export-import (2018-11-17) 11 commits
47 + (merged to 'next' on 2018-12-28 at a1b09cf515)
48 + + fast-export: add a --show-original-ids option to show original names
49 + + fast-import: remove unmaintained duplicate documentation
50 + + fast-export: add --reference-excluded-parents option
51 + + fast-export: ensure we export requested refs
52 + + fast-export: when using paths, avoid corrupt stream with non-existent mark
53 + + fast-export: move commit rewriting logic into a function for reuse
54 + + fast-export: avoid dying when filtering by paths and old tags exist
55 + + fast-export: use value from correct enum
56 + + git-fast-export.txt: clarify misleading documentation about rev-list args
57 + + git-fast-import.txt: fix documentation for --quiet option
58 + + fast-export: convert sha1 to oid
59 +
60 + Originally merged to 'next' on 2018-11-18
61 +
62 + Small fixes and features for fast-export and fast-import, mostly on
63 + the fast-export side.
64 +
65 +
66 +* en/merge-path-collision (2018-12-01) 11 commits
67 + (merged to 'next' on 2018-12-28 at b50d3eee25)
68 + + t6036: avoid non-portable "cp -a"
69 + + merge-recursive: combine error handling
70 + + t6036, t6043: increase code coverage for file collision handling
71 + + merge-recursive: improve rename/rename(1to2)/add[/add] handling
72 + + merge-recursive: use handle_file_collision for add/add conflicts
73 + + merge-recursive: improve handling for rename/rename(2to1) conflicts
74 + + merge-recursive: fix rename/add conflict handling
75 + + merge-recursive: new function for better colliding conflict resolutions
76 + + merge-recursive: increase marker length with depth of recursion
77 + + t6036, t6042: testcases for rename collision of already conflicting files
78 + + t6042: add tests for consistency in file collision conflict handling
79 +
80 + Originally merged to 'next' on 2018-12-01
81
36 - Test portability fix.
82 + Updates for corner cases in merge-recursive.
83
84
39 -* jc/run-command-report-exec-failure-fix (2018-12-12) 1 commit
40 - + run-command: report exec failure
85 +* fc/http-version (2018-11-09) 1 commit
86 + (merged to 'next' on 2018-12-28 at 56bcbb0fa9)
87 + + http: add support selecting http version
88
42 - A recent update accidentally squelched an error message when the
43 - run_command API failed to run a missing command, which has been
44 - corrected.
89 + Originally merged to 'next' on 2018-11-18
90
91 + The "http.version" configuration variable can be used with recent
92 + enough cURL library to force the version of HTTP used to talk when
93 + fetching and pushing.
94
47 -* js/help-commands-verbose-by-default-fix (2018-12-12) 2 commits
48 - + help -a: handle aliases with long names gracefully
49 - + help.h: fix coding style
95
51 - "git help -a" did not work well when an overly long alias is
52 - defined, which has been corrected.
96 +* jk/loose-object-cache (2018-11-24) 10 commits
97 + (merged to 'next' on 2018-12-28 at 5a5faf384e)
98 + + odb_load_loose_cache: fix strbuf leak
99 + + fetch-pack: drop custom loose object cache
100 + + sha1-file: use loose object cache for quick existence check
101 + + object-store: provide helpers for loose_objects_cache
102 + + sha1-file: use an object_directory for the main object dir
103 + + handle alternates paths the same as the main object dir
104 + + sha1_file_name(): overwrite buffer instead of appending
105 + + rename "alternate_object_database" to "object_directory"
106 + + submodule--helper: prefer strip_suffix() to ends_with()
107 + + fsck: do not reuse child_process structs
108 +
109 + Originally merged to 'next' on 2018-11-24
110 +
111 + Code clean-up with optimization for the codepath that checks
112 + (non-)existence of loose objects.
113
114
55 -* js/mailinfo-format-flowed-fix (2018-12-13) 1 commit
56 - + t4256: mark support files as LF-only
115 +* mk/http-backend-kill-children-before-exit (2018-11-26) 1 commit
116 + (merged to 'next' on 2018-12-28 at 81188d93c3)
117 + + http-backend: enable cleaning up forked upload/receive-pack on exit
118
58 - Test portability fix.
119 + Originally merged to 'next' on 2018-11-29
120
121 + The http-backend CGI process did not correctly clean up the child
122 + processes it spawns to run upload-pack etc. when it dies itself,
123 + which has been corrected.
124
61 -* nd/show-gitcomp-compilation-fix (2018-12-12) 1 commit
62 - + parse-options: fix SunCC compiler warning
125
64 - Portability fix for a recent update to parse-options API.
126 +* nd/checkout-dwim-fix (2018-11-14) 1 commit
127 + (merged to 'next' on 2018-12-28 at 3183c9305b)
128 + + checkout: disambiguate dwim tracking branches and local files
129 +
130 + Originally merged to 'next' on 2018-11-18
131 +
132 + "git checkout frotz" (without any double-dash) avoids ambiguity by
133 + making sure 'frotz' cannot be interpreted as a revision and as a
134 + path at the same time. This safety has been updated to check also
135 + a unique remote-tracking branch 'frotz' in a remote, when dwimming
136 + to create a local branch 'frotz' out of a remote-tracking branch
137 + 'frotz' from a remote.
138 +
139 +
140 +* nd/i18n (2018-11-12) 16 commits
141 + (merged to 'next' on 2018-12-28 at 8e2de8338e)
142 + + fsck: mark strings for translation
143 + + fsck: reduce word legos to help i18n
144 + + parse-options.c: mark more strings for translation
145 + + parse-options.c: turn some die() to BUG()
146 + + parse-options: replace opterror() with optname()
147 + + repack: mark more strings for translation
148 + + remote.c: mark messages for translation
149 + + remote.c: turn some error() or die() to BUG()
150 + + reflog: mark strings for translation
151 + + read-cache.c: add missing colon separators
152 + + read-cache.c: mark more strings for translation
153 + + read-cache.c: turn die("internal error") to BUG()
154 + + attr.c: mark more string for translation
155 + + archive.c: mark more strings for translation
156 + + alias.c: mark split_cmdline_strerror() strings for translation
157 + + git.c: mark more strings for translation
158 +
159 + Originally merged to 'next' on 2018-11-18
160 +
161 + More _("i18n") markings.
162 +
163 +
164 +* nd/the-index (2018-11-12) 22 commits
165 + (merged to 'next' on 2018-12-28 at 6bbd3befbe)
166 + + rebase-interactive.c: remove the_repository references
167 + + rerere.c: remove the_repository references
168 + + pack-*.c: remove the_repository references
169 + + pack-check.c: remove the_repository references
170 + + notes-cache.c: remove the_repository references
171 + + line-log.c: remove the_repository reference
172 + + diff-lib.c: remove the_repository references
173 + + delta-islands.c: remove the_repository references
174 + + cache-tree.c: remove the_repository references
175 + + bundle.c: remove the_repository references
176 + + branch.c: remove the_repository reference
177 + + bisect.c: remove the_repository reference
178 + + blame.c: remove implicit dependency the_repository
179 + + sequencer.c: remove implicit dependency on the_repository
180 + + sequencer.c: remove implicit dependency on the_index
181 + + transport.c: remove implicit dependency on the_index
182 + + notes-merge.c: remove implicit dependency the_repository
183 + + notes-merge.c: remove implicit dependency on the_index
184 + + list-objects.c: reduce the_repository references
185 + + list-objects-filter.c: remove implicit dependency on the_index
186 + + wt-status.c: remove implicit dependency the_repository
187 + + wt-status.c: remove implicit dependency on the_index
188 + (this branch is used by md/list-objects-filter-by-depth.)
189 +
190 + Originally merged to 'next' on 2018-11-18
191 +
192 + More codepaths become aware of working with in-core repository
193 + instance other than the default "the_repository".
194 +
195 +
196 +* sd/stash-wo-user-name (2018-11-19) 1 commit
197 + (merged to 'next' on 2018-12-28 at 99197ef5a1)
198 + + stash: tolerate missing user identity
199 + (this branch is used by ps/stash-in-c.)
200 +
201 + Originally merged to 'next' on 2018-11-19
202 +
203 + A properly configured username/email is required under
204 + user.useConfigOnly in order to create commits; now "git stash"
205 + (even though it creates commit objects to represent stash entries)
206 + command is exempt from the requirement.
207 +
208 +
209 +* sg/clone-initial-fetch-configuration (2018-11-16) 3 commits
210 + (merged to 'next' on 2018-12-28 at 82e104f221)
211 + + Documentation/clone: document ignored configuration variables
212 + + clone: respect additional configured fetch refspecs during initial fetch
213 + + clone: use a more appropriate variable name for the default refspec
214 +
215 + Originally merged to 'next' on 2018-11-18
216 +
217 + Refspecs configured with "git -c var=val clone" did not propagate
218 + to the resulting repository, which has been corrected.
219
220 --------------------------------------------------
221 [New Topics]
222
69 -* ds/midx-expire-repack (2018-12-11) 5 commits
70 - - multi-pack-index: implement midx_repack()
71 - - multi-pack-index: prepare 'repack' verb
223 +* ab/proto-v2-fixes (2018-12-14) 5 commits
224 + - tests: mark tests broken under GIT_TEST_PROTOCOL_VERSION=2
225 + - builtin/fetch-pack: support protocol version 2
226 + - tests: mark & fix tests broken under GIT_TEST_PROTOCOL_VERSION=1
227 + - tests: add a special setup where for protocol.version
228 + - tests: add a check for unportable env --unset
229 +
230 + This is (just a part of) v2, and I see v3 posted on the list, but
231 + it seems that v3 needs further updates.
232 + cf. <20181218124852.GD30471@sigill.intra.peff.net>
233 +
234 + I'll drop the whole thing and wait for an update.
235 +
236 +
237 +* jn/stripspace-wo-repository (2018-12-26) 1 commit
238 + - stripspace: allow -s/-c outside git repository
239 +
240 + "git stripspace" should be usable outside a git repository, but
241 + under the "-s" or "-c" mode, it didn't.
242 +
243 + Will merge to 'next'.
244 +
245 +
246 +* ma/asciidoctor (2018-12-26) 3 commits
247 + - git-status.txt: render tables correctly under Asciidoctor
248 + - Documentation: do not nest open blocks
249 + - git-column.txt: fix section header
250 +
251 + Some of the documentation pages formatted incorrectly with
252 + Asciidoctor, which have been fixed.
253 +
254 + Will merge to 'next'.
255 +
256 +
257 +* nd/worktree-remove-with-uninitialized-submodules (2019-01-07) 1 commit
258 + - worktree: allow to (re)move worktrees with uninitialized submodules
259 +
260 + "git worktree remove" and "git worktree move" refused to work when
261 + there is a submodule involved. This has been loosened to ignore
262 + uninitialized submodules.
263 +
264 + Will merge to 'next'.
265 +
266 +
267 +* sb/submodule-unset-core-worktree-when-worktree-is-lost (2018-12-26) 4 commits
268 + - submodule deinit: unset core.worktree
269 + - submodule--helper: fix BUG message in ensure_core_worktree
270 + - submodule: unset core.worktree if no working tree is present
271 + - submodule update: add regression test with old style setups
272 +
273 + The core.worktree setting in a submodule repository should not be
274 + pointing at a directory when the submodule loses its working tree
275 + (e.g. getting deinit'ed), but the code did not properly maintain
276 + this invariant.
277 +
278 + Will merge to 'next'.
279 +
280 +
281 +* so/cherry-pick-always-allow-m1 (2019-01-07) 4 commits
282 + - t3506: validate '-m 1 -ff' is now accepted for non-merge commits
283 + - t3502: validate '-m 1' argument is now accepted for non-merge commits
284 + - cherry-pick: do not error on non-merge commits when '-m 1' is specified
285 + - t3510: stop using '-m 1' to force failure mid-sequence of cherry-picks
286 +
287 + "git cherry-pick -m1" was forbidden when picking a non-merge
288 + commit, even though there _is_ parent number 1 for such a commit.
289 + This was done to avoid mistakes back when "cherry-pick" was about
290 + picking a single commit, but is no longer useful with "cherry-pick"
291 + that can pick a range of commits. Now the "-m$num" option is
292 + allowed when picking any commit, as long as $num names an existing
293 + parent of the commit.
294 +
295 + Technically this is a backward incompatible change; hopefully
296 + nobody is relying on the error-checking behaviour.
297 +
298 + Will merge to 'next'.
299 +
300 +
301 +* cy/completion-typofix (2019-01-03) 1 commit
302 + - completion: fix typo in git-completion.bash
303 +
304 + Typofix.
305 +
306 + Will merge to 'next'.
307 +
308 +
309 +* cy/zsh-completion-SP-in-path (2019-01-03) 2 commits
310 + - completion: treat results of git ls-tree as file paths
311 + - zsh: complete unquoted paths with spaces correctly
312 +
313 + With zsh, "git cmd path<TAB>" was completed to "git cmd path name"
314 + when the completed path has a special character like SP in it,
315 + without any attempt to keep "path name" a single filename. This
316 + has been fixed to complete it to "git cmd path\ name" just like
317 + Bash completion does.
318 +
319 + Will merge to 'next'.
320 +
321 +
322 +* ds/commit-graph-assert-missing-parents (2019-01-02) 1 commit
323 + - commit-graph: writing missing parents is a BUG
324 +
325 + Tightening error checking in commit-graph writer.
326 +
327 + Will merge to 'next'.
328 +
329 +
330 +* ed/simplify-setup-git-dir (2019-01-03) 1 commit
331 + - Simplify handling of setup_git_directory_gently() failure cases.
332 +
333 + Code simplification.
334 +
335 + Will merge to 'next'.
336 +
337 +
338 +* es/doc-worktree-guessremote-config (2018-12-28) 1 commit
339 + - doc/config: do a better job of introducing 'worktree.guessRemote'
340 +
341 + Doc clarification.
342 +
343 + Will merge to 'next'.
344 +
345 +
346 +* ew/ban-strncat (2019-01-02) 1 commit
347 + - banned.h: mark strncat() as banned
348 +
349 + The "strncat()" function is now among the banned functions.
350 +
351 + Will merge to 'next'.
352 +
353 +
354 +* jk/dev-build-format-security (2019-01-07) 1 commit
355 + - config.mak.dev: add -Wall, primarily for -Wformat, to help autoconf users
356 +
357 + Earlier we added "-Wformat-security" to developer builds, assuming
358 + that "-Wall" (which includes "-Wformat" which in turn is required
359 + to use "-Wformat-security") is always in effect. This is not true
360 + when config.mak.autogen is in use, unfortunately. This has been
361 + fixed by unconditionally adding "-Wall" to developer builds.
362 +
363 + Will merge to 'next'.
364 +
365 +
366 +* jp/author-committer-config (2019-01-02) 2 commits
367 + - DONTMERGE
368 + - Add author and committer configuration settings
369 +
370 + Four new configuration variables {author,committer}.{name,email}
371 + have been introduced to override user.{name,email} in more specific
372 + cases.
373 +
374 + Expecting a reroll.
375 + cf. <xmqq1s5uk6qh.fsf@gitster-ct.c.googlers.com>
376 +
377 +
378 +* js/rebase-am (2019-01-03) 4 commits
379 + - built-in rebase: call `git am` directly
380 + - rebase: teach `reset_head()` to optionally skip the worktree
381 + - rebase: avoid double reflog entry when switching branches
382 + - rebase: move `reset_head()` into a better spot
383 +
384 + Instead of going through "git-rebase--am" scriptlet to use the "am"
385 + backend, the built-in version of "git rebase" learned to drive the
386 + "am" backend directly.
387 +
388 + Waiting for a review response.
389 + Looked almost ready.
390 +
391 +
392 +* ms/packet-err-check (2019-01-02) 2 commits
393 + - pack-protocol.txt: accept error packets in any context
394 + - Use packet_reader instead of packet_read_line
395 +
396 + Error checking of data sent over the pack-protocol has been
397 + revamped so that error packets are always diagnosed properly.
398 +
399 +
400 +* os/rebase-runs-post-checkout-hook (2019-01-02) 2 commits
401 + - rebase: run post-checkout hook on checkout
402 + - t5403: simplify by using a single repository
403 +
404 + "git rebase" internally runs "checkout" to switch between branches,
405 + and the command used to call the post-checkout hook, but the
406 + reimplementation stopped doing so, which is getting fixed.
407 +
408 +
409 +* rb/hpe (2019-01-03) 5 commits
410 + - compat/regex/regcomp.c: define intptr_t and uintptr_t on NonStop
411 + - git-compat-util.h: add FLOSS headers for HPE NonStop
412 + - config.mak.uname: support for modern HPE NonStop config.
413 + - transport-helper: drop read/write errno checks
414 + - transport-helper: use xread instead of read
415 +
416 + Portability updates for the HPE NonStop platform.
417 +
418 + Will merge to 'next'.
419 +
420 +
421 +* sg/test-bash-version-fix (2019-01-03) 2 commits
422 + - Merge branch 'sg/test-bash-version-fix'
423 + - test-lib: check Bash version for '-x' without using shell arrays
424 + (this branch is used by sg/stress-test.)
425 +
426 + The test suite tried to see if it is run under bash, but the check
427 + itself failed under some other implementations of shell (notably
428 + under NetBSD). This has been corrected.
429 +
430 + Will merge to 'next'.
431 +
432 +
433 +* sm/http-no-more-failonerror (2019-01-03) 2 commits
434 + - Unset CURLOPT_FAILONERROR
435 + - Change how HTTP response body is returned
436 +
437 + Waiting for clarifications.
438 +
439 +
440 +* tg/t5570-drop-racy-test (2019-01-07) 2 commits
441 + - Revert "t/lib-git-daemon: record daemon log"
442 + - t5570: drop racy test
443 +
444 + An inherently racy test that caused intermittent failures has been
445 + removed.
446 +
447 + Will merge to 'next'.
448 +
449 +
450 +* tt/bisect-in-c (2019-01-02) 7 commits
451 + - bisect--helper: `bisect_start` shell function partially in C
452 + - bisect--helper: `get_terms` & `bisect_terms` shell function in C
453 + - bisect--helper: `bisect_next_check` shell function in C
454 + - bisect--helper: `check_and_set_terms` shell function in C
455 + - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
456 + - bisect--helper: `bisect_write` shell function in C
457 + - bisect--helper: `bisect_reset` shell function in C
458 +
459 + More code in "git bisect" has been rewritten in C.
460 +
461 +
462 +* ja/doc-build-l10n (2019-01-07) 1 commit
463 + - Documentation/Makefile add optional targets for l10n
464 +
465 + Prepare Documentation/Makefile so that manpage localization can
466 + reuse it by overriding and tweaking the list of build products.
467 +
468 + Will merge to 'next'.
469 +
470 +
471 +* jk/loose-object-cache-oid (2019-01-07) 5 commits
472 + - sha1-file: modernize loose header/stream functions
473 + - sha1-file: modernize loose object file functions
474 + - http: use struct object_id instead of bare sha1
475 + - update comment references to sha1_object_info()
476 + - sha1-file: fix outdated sha1 comment references
477 + (this branch uses rs/loose-object-cache-perffix.)
478 +
479 + Code clean-up.
480 +
481 + Will merge to 'next'.
482 +
483 +
484 +* mm/multimail-1.5 (2019-01-07) 1 commit
485 + - git-multimail: update to release 1.5.0
486 +
487 + Update "git multimail" from the upstream.
488 +
489 + Will merge to 'next'.
490 +
491 +
492 +* po/git-p4-wo-login (2019-01-07) 1 commit
493 + - git-p4: fix problem when p4 login is not necessary
494 +
495 + "git p4" update.
496 +
497 + Will merge to 'next'.
498 +
499 +
500 +* rs/loose-object-cache-perffix (2019-01-07) 4 commits
501 + - object-store: retire odb_load_loose_cache()
502 + - object-store: use one oid_array per subdirectory for loose cache
503 + - object-store: factor out odb_clear_loose_cache()
504 + - object-store: factor out odb_loose_cache()
505 + (this branch is used by jk/loose-object-cache-oid.)
506 +
507 + The loose object cache used to optimize existence look-up has been
508 + updated.
509 +
510 + Will merge to 'next'.
511 +
512 +
513 +* rs/sha1-file-close-mapped-file-on-error (2019-01-07) 1 commit
514 + - sha1-file: close fd of empty file in map_sha1_file_1()
515 +
516 + Code clean-up.
517 +
518 + Will merge to 'next'.
519 +
520 +--------------------------------------------------
521 +[Cooking]
522 +
523 +* lt/date-human (2019-01-02) 3 commits
524 + - t0006-date.sh: add `human` date format tests.
525 + - Add 'human' date format documentation
526 + - Add 'human' date format
527 +
528 + A new date format "--date=human" that morphs its output depending
529 + on how far the time is from the current time has been introduced.
530 + "--date=auto" can be used to use this new format when the output is
531 + goint to the pager or to the terminal and otherwise the default
532 + format.
533 +
534 + The design around "auto" may need to be rethought.
535 + The tests need to be updated, too.
536 + cf. <20190104075034.GA26014@sigill.intra.peff.net>
537 + cf. <a5412274-028f-3662-e4f5-dbbcad4d9a40@iee.org>
538 +
539 +
540 +* ds/midx-expire-repack (2019-01-02) 7 commits
541 + - midx: implement midx_repack()
542 + - multi-pack-index: prepare 'repack' subcommand
543 - multi-pack-index: implement 'expire' verb
73 - - multi-pack-index: refactor permutation logic
74 - - multi-pack-index: prepare for 'expire' verb
544 + - midx: refactor permutation logic
545 + - multi-pack-index: prepare for 'expire' subcommand
546 + - Docs: rearrange subcommands for multi-pack-index
547 + - repack: refactor pack deletion for future use
548
549
550 * ds/push-sparse-tree-walk (2018-12-11) 6 commits
@@ -89,14 +562,12 @@ of the repositories listed at
562 - rebase: introduce --reschedule-failed-exec
563
564
92 -* md/list-objects-filter-by-depth (2018-12-11) 4 commits
565 +* md/list-objects-filter-by-depth (2018-12-28) 4 commits
566 - tree:<depth>: skip some trees even when collecting omits
567 - list-objects-filter: teach tree:# how to handle >0
568 - Merge branch 'nd/the-index' into md/list-objects-filter-by-depth
569 - Merge branch 'sb/more-repo-in-api' into md/list-objects-filter-by-depth
97 - (this branch uses nd/the-index and sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.)
98 -
99 - Needs to be rebuilt when sb/more-repo-in-api is rewound.
570 + (this branch uses sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.)
571
572
573 * nd/backup-log (2018-12-10) 24 commits
@@ -131,91 +602,111 @@ of the repositories listed at
602
603 Code clean-up.
604
605 + Will merge to 'next'.
606 +
607
135 -* sg/stress-test (2018-12-10) 8 commits
136 - - fixup! test-lib: add the '--stress' option to run a test repeatedly under load
608 +* sg/stress-test (2019-01-07) 8 commits
609 - test-lib: add the '--stress' option to run a test repeatedly under load
610 - test-lib-functions: introduce the 'test_set_port' helper function
139 - - test-lib: extract Bash version check for '-x' tracing
611 - test-lib: set $TRASH_DIRECTORY earlier
612 - test-lib: consolidate naming of test-results paths
142 - - test-lib: parse some --options earlier
613 + - test-lib: parse command line options earlier
614 + - test-lib: parse options in a for loop to keep $@ intact
615 + - test-lib: extract Bash version check for '-x' tracing
616 - test-lib: translate SIGTERM and SIGHUP to an exit
617 + (this branch uses sg/test-bash-version-fix.)
618
619 + Flaky tests can now be repeatedly run under load with the
620 + "--stress" option.
621
146 -* tg/checkout-no-overlay (2018-12-10) 8 commits
147 - - stash: use git checkout --no-overlay
148 - - checkout: allow ignoring unmatched pathspec
149 - - checkout: add --cached option
622 + Will merge to 'next'.
623 +
624 +
625 +* tg/checkout-no-overlay (2019-01-02) 8 commits
626 + - checkout: introduce checkout.overlayMode config
627 - checkout: introduce --{,no-}overlay option
628 + - checkout: factor out mark_cache_entry_for_checkout function
629 + - checkout: clarify comment
630 - read-cache: add invalidate parameter to remove_marked_cache_entries
631 - entry: support CE_WT_REMOVE flag in checkout_entry
632 - entry: factor out unlink_entry function
633 - move worktree tests to t24*
634
635 + "git checkout --no-overlay" can be used to trigger a new mode of
636 + checking out paths out of the tree-ish, that allows paths that
637 + match the pathspec that are in the current index and working tree
638 + and are not in the tree-ish.
639 +
640 + Will merge to 'next'.
641 +
642
643 * jk/proto-v2-hidden-refs-fix (2018-12-14) 3 commits
644 - upload-pack: support hidden refs with protocol v2
645 - parse_hide_refs_config: handle NULL section
646 - serve: pass "config context" through to individual commands
647
648 + The v2 upload-pack protocol implementation failed to honor
649 + hidden-ref configuration, which has been corrected.
650 +
651 + Will merge to 'next'.
652 +
653
654 * la/quiltimport-keep-non-patch (2018-12-14) 1 commit
655 - git-quiltimport: Add --keep-non-patch option
656
657 + "git quiltimport" learned "--keep-non-patch" option.
658 +
659 + Will merge to 'next'.
660 +
661
662 * sb/submodule-fetchjobs-default-to-one (2018-12-14) 1 commit
663 - submodule update: run at most one fetch job unless otherwise set
664
170 ---------------------------------------------------
171 -[Stalled]
665 + "git submodule update" ought to use a single job unless asked, but
666 + by mistake used multiple jobs, which has been fixed.
667
173 -* lt/date-human (2018-07-09) 1 commit
174 - - Add 'human' date format
175 -
176 - A new date format "--date=human" that morphs its output depending
177 - on how far the time is from the current time has been introduced.
178 - "--date=auto" can be used to use this new format when the output is
179 - goint to the pager or to the terminal and otherwise the default
180 - format.
668 + Will merge to 'next'.
669
182 ---------------------------------------------------
183 -[Cooking]
670
671 * cb/openbsd-allows-reading-directory (2018-12-03) 1 commit
186 - - config.mak.uname: OpenBSD uses BSD semantics with fread for directories
672 + (merged to 'next' on 2019-01-04 at 9d865107fd)
673 + + config.mak.uname: OpenBSD uses BSD semantics with fread for directories
674
675 BSD port update.
676
190 - Will merge to 'next'.
677 + Will merge to 'master'.
678
679
680 * cb/t5004-empty-tar-archive-fix (2018-12-03) 1 commit
194 - - t5004: avoid using tar for empty packages
681 + (merged to 'next' on 2019-01-04 at 39f4cf94ce)
682 + + t5004: avoid using tar for empty packages
683
684 BSD port update.
685
198 - Will merge to 'next'.
686 + Will merge to 'master'.
687
688
689 * cb/test-lint-cp-a (2018-12-03) 1 commit
202 - - tests: add lint for non portable cp -a
690 + (merged to 'next' on 2019-01-04 at d13e6cfcb0)
691 + + tests: add lint for non portable cp -a
692
693 BSD port update.
694
206 - Will merge to 'next'.
695 + Will merge to 'master'.
696
697
698 * hb/t0061-dot-in-path-fix (2018-12-03) 1 commit
210 - - t0061: do not fail test if '.' is part of $PATH
699 + (merged to 'next' on 2019-01-04 at 789f990c4e)
700 + + t0061: do not fail test if '.' is part of $PATH
701
702 Test update.
703
214 - Will merge to 'next'.
704 + Will merge to 'master'.
705
706
707 * hn/highlight-sideband-keywords (2018-12-04) 1 commit
218 - - sideband: color lines with keyword only
708 + (merged to 'next' on 2019-01-04 at b039601533)
709 + + sideband: color lines with keyword only
710
711 Lines that begin with a certain keyword that come over the wire, as
712 well as lines that consist only of one of these keywords, ought to
@@ -223,7 +714,7 @@ of the repositories listed at
714 broken ever since the feature was introduced in 2.19, which has
715 been corrected.
716
226 - Will merge to 'next'.
717 + Will merge to 'master'.
718
719
720 * js/commit-graph-chunk-table-fix (2018-12-14) 3 commits
@@ -235,7 +726,7 @@ of the repositories listed at
726 past the end of it when the file's table-of-contents was corrupt.
727
728
238 -* jt/get-reference-with-commit-graph (2018-12-06) 1 commit
729 +* jt/get-reference-with-commit-graph (2018-12-28) 1 commit
730 - revision: use commit graph in get_reference()
731 (this branch uses sb/more-repo-in-api; is tangled with md/list-objects-filter-by-depth.)
732
@@ -246,82 +737,78 @@ of the repositories listed at
737
738
739 * md/exclude-promisor-objects-fix-cleanup (2018-12-06) 1 commit
249 - - revision.c: put promisor option in specialized struct
740 + (merged to 'next' on 2019-01-04 at c15362832d)
741 + + revision.c: put promisor option in specialized struct
742
743 Code clean-up.
744
253 - Will merge to 'next'.
745 + Will merge to 'master'.
746
747
748 * bw/mailmap (2018-12-09) 1 commit
257 - - mailmap: update brandon williams's email address
749 + (merged to 'next' on 2019-01-04 at 02b6e83231)
750 + + mailmap: update brandon williams's email address
751
259 - Will merge to 'next'.
752 + Will merge to 'master'.
753
754
755 * do/gitweb-strict-export-conf-doc (2018-12-09) 1 commit
263 - - docs: fix $strict_export text in gitweb.conf.txt
756 + (merged to 'next' on 2019-01-04 at 5249c9386a)
757 + + docs: fix $strict_export text in gitweb.conf.txt
758
759 Doc update.
760
267 - Will merge to 'next'.
761 + Will merge to 'master'.
762
763
764 * en/directory-renames-nothanks-doc-update (2018-12-09) 1 commit
271 - - git-rebase.txt: update note about directory rename detection and am
765 + (merged to 'next' on 2019-01-04 at cb7134b54c)
766 + + git-rebase.txt: update note about directory rename detection and am
767
768 Doc update.
769
275 - Will merge to 'next'.
770 + Will merge to 'master'.
771
772
773 * fd/gitweb-snapshot-conf-doc-fix (2018-12-09) 1 commit
279 - - docs/gitweb.conf: config variable typo
774 + (merged to 'next' on 2019-01-04 at 7ba71fca17)
775 + + docs/gitweb.conf: config variable typo
776
777 Doc update.
778
283 - Will merge to 'next'.
779 + Will merge to 'master'.
780
781
782 * km/rebase-doc-typofix (2018-12-10) 1 commit
287 - - rebase docs: drop stray word in merge command description
783 + (merged to 'next' on 2019-01-04 at c89f646e8f)
784 + + rebase docs: drop stray word in merge command description
785
786 Doc update.
787
291 - Will merge to 'next'.
788 + Will merge to 'master'.
789
790
791 * nd/indentation-fix (2018-12-09) 1 commit
295 - - Indent code with TABs
792 + (merged to 'next' on 2019-01-04 at 738b17d365)
793 + + Indent code with TABs
794
795 Code cleanup.
796
299 - Will merge to 'next'.
797 + Will merge to 'master'.
798
799
800 * tb/use-common-win32-pathfuncs-on-cygwin (2018-12-26) 1 commit
303 - - git clone <url> C:\cygwin\home\USER\repo' is working (again)
801 + (merged to 'next' on 2019-01-04 at c3b2b1f3c3)
802 + + git clone <url> C:\cygwin\home\USER\repo' is working (again)
803
804 Cygwin update.
805
307 - Will merge to 'next'.
308 -
309 -
310 -* mk/http-backend-kill-children-before-exit (2018-11-26) 1 commit
311 - (merged to 'next' on 2018-12-28 at 81188d93c3)
312 - + http-backend: enable cleaning up forked upload/receive-pack on exit
313 -
314 - Originally merged to 'next' on 2018-11-29
315 -
316 - The http-backend CGI process did not correctly clean up the child
317 - processes it spawns to run upload-pack etc. when it dies itself,
318 - which has been corrected.
319 -
806 Will merge to 'master'.
807
808
809 * tb/log-G-binary (2018-12-26) 1 commit
324 - - log -G: ignore binary files
810 + (merged to 'next' on 2019-01-04 at a713ef389c)
811 + + log -G: ignore binary files
812
813 "git log -G<regex>" looked for a hunk in the "git log -p" patch
814 output that contained a string that matches the given pattern.
@@ -329,7 +816,7 @@ of the repositories listed at
816 not show any hunk that would match any pattern (unless textconv or
817 the --text option is in effect, that is).
818
332 - Will merge to 'next'.
819 + Will merge to 'master'.
820
821
822 * dl/merge-cleanup-scissors-fix (2018-11-21) 2 commits
@@ -363,23 +850,25 @@ of the repositories listed at
850
851
852 * nd/attr-pathspec-in-tree-walk (2018-11-19) 5 commits
366 - - tree-walk: support :(attr) matching
367 - - dir.c: move, rename and export match_attrs()
368 - - pathspec.h: clean up "extern" in function declarations
369 - - tree-walk.c: make tree_entry_interesting() take an index
370 - - tree.c: make read_tree*() take 'struct repository *'
853 + (merged to 'next' on 2019-01-04 at 6a07e5b905)
854 + + tree-walk: support :(attr) matching
855 + + dir.c: move, rename and export match_attrs()
856 + + pathspec.h: clean up "extern" in function declarations
857 + + tree-walk.c: make tree_entry_interesting() take an index
858 + + tree.c: make read_tree*() take 'struct repository *'
859
860 The traversal over tree objects has learned to honor
861 ":(attr:label)" pathspec match, which has been implemented only for
862 enumerating paths on the filesystem.
863
376 - Will merge to 'next'.
864 + Will merge to 'master'.
865
866
867 * ab/commit-graph-progress-fix (2018-11-20) 1 commit
380 - - commit-graph: split up close_reachable() progress output
868 + (merged to 'next' on 2019-01-04 at 405a1a2cf5)
869 + + commit-graph: split up close_reachable() progress output
870
382 - Will merge to 'next'.
871 + Will merge to 'master'.
872
873
874 * jn/unknown-index-extensions (2018-11-21) 2 commits
@@ -392,93 +881,32 @@ of the repositories listed at
881 Expecting a reroll.
882
883
395 -* en/fast-export-import (2018-11-17) 11 commits
396 - (merged to 'next' on 2018-12-28 at a1b09cf515)
397 - + fast-export: add a --show-original-ids option to show original names
398 - + fast-import: remove unmaintained duplicate documentation
399 - + fast-export: add --reference-excluded-parents option
400 - + fast-export: ensure we export requested refs
401 - + fast-export: when using paths, avoid corrupt stream with non-existent mark
402 - + fast-export: move commit rewriting logic into a function for reuse
403 - + fast-export: avoid dying when filtering by paths and old tags exist
404 - + fast-export: use value from correct enum
405 - + git-fast-export.txt: clarify misleading documentation about rev-list args
406 - + git-fast-import.txt: fix documentation for --quiet option
407 - + fast-export: convert sha1 to oid
408 -
409 - Originally merged to 'next' on 2018-11-18
410 -
411 - Small fixes and features for fast-export and fast-import, mostly on
412 - the fast-export side.
413 -
414 - Will merge to 'master'.
415 -
416 -
417 -* nd/checkout-dwim-fix (2018-11-14) 1 commit
418 - (merged to 'next' on 2018-12-28 at 3183c9305b)
419 - + checkout: disambiguate dwim tracking branches and local files
420 -
421 - Originally merged to 'next' on 2018-11-18
422 -
423 - "git checkout frotz" (without any double-dash) avoids ambiguity by
424 - making sure 'frotz' cannot be interpreted as a revision and as a
425 - path at the same time. This safety has been updated to check also
426 - a unique remote-tracking branch 'frotz' in a remote, when dwimming
427 - to create a local branch 'frotz' out of a remote-tracking branch
428 - 'frotz' from a remote.
429 -
430 - Will merge to 'master'.
431 -
432 -
884 * nd/checkout-noisy (2018-11-20) 2 commits
434 - - t0027: squelch checkout path run outside test_expect_* block
435 - - checkout: print something when checking out paths
885 + (merged to 'next' on 2019-01-04 at 480172d3d7)
886 + + t0027: squelch checkout path run outside test_expect_* block
887 + + checkout: print something when checking out paths
888
889 "git checkout [<tree-ish>] path..." learned to report the number of
890 paths that have been checked out of the index or the tree-ish,
891 which gives it the same degree of noisy-ness as the case in which
892 the command checks out a branch.
893
442 - Will merge to 'next'.
443 -
444 -
445 -* sg/clone-initial-fetch-configuration (2018-11-16) 3 commits
446 - (merged to 'next' on 2018-12-28 at 82e104f221)
447 - + Documentation/clone: document ignored configuration variables
448 - + clone: respect additional configured fetch refspecs during initial fetch
449 - + clone: use a more appropriate variable name for the default refspec
450 -
451 - Originally merged to 'next' on 2018-11-18
452 -
453 - Refspecs configured with "git -c var=val clone" did not propagate
454 - to the resulting repository, which has been corrected.
455 -
894 Will merge to 'master'.
895
896
459 -* en/rebase-merge-on-sequencer (2018-11-08) 2 commits
460 - - rebase: implement --merge via git-rebase--interactive
897 +* en/rebase-merge-on-sequencer (2019-01-07) 8 commits
898 + - rebase: implement --merge via the interactive machinery
899 + - rebase: define linearization ordering and enforce it
900 + - git-legacy-rebase: simplify unnecessary triply-nested if
901 - git-rebase, sequencer: extend --quiet option for the interactive machinery
902 + - am, rebase--merge: do not overlook --skip'ed commits with post-rewrite
903 + - t5407: add a test demonstrating how interactive handles --skip differently
904 + - rebase: fix incompatible options error message
905 + - rebase: make builtin and legacy script error messages the same
906
907 "git rebase --merge" as been reimplemented by reusing the internal
908 machinery used for "git rebase -i".
909
466 - Expecting a reroll.
467 - cf. <CABPp-BF8RupyfP69iqAVTXxEhBGyzVd-wUgp3y0pf+CbBFAQeg@mail.gmail.com>
468 -
469 -
470 -* fc/http-version (2018-11-09) 1 commit
471 - (merged to 'next' on 2018-12-28 at 56bcbb0fa9)
472 - + http: add support selecting http version
473 -
474 - Originally merged to 'next' on 2018-11-18
475 -
476 - The "http.version" configuration variable can be used with recent
477 - enough cURL library to force the version of HTTP used to talk when
478 - fetching and pushing.
479 -
480 - Will merge to 'master'.
481 -
910
911 * dl/remote-save-to-push (2018-12-11) 1 commit
912 - remote: add --save-to-push option to git remote set-url
@@ -490,28 +918,7 @@ of the repositories listed at
918 I am personally not yet quite convinced if this is worth pursuing.
919
920
493 -* jk/loose-object-cache (2018-11-24) 10 commits
494 - (merged to 'next' on 2018-12-28 at 5a5faf384e)
495 - + odb_load_loose_cache: fix strbuf leak
496 - + fetch-pack: drop custom loose object cache
497 - + sha1-file: use loose object cache for quick existence check
498 - + object-store: provide helpers for loose_objects_cache
499 - + sha1-file: use an object_directory for the main object dir
500 - + handle alternates paths the same as the main object dir
501 - + sha1_file_name(): overwrite buffer instead of appending
502 - + rename "alternate_object_database" to "object_directory"
503 - + submodule--helper: prefer strip_suffix() to ends_with()
504 - + fsck: do not reuse child_process structs
505 -
506 - Originally merged to 'next' on 2018-11-24
507 -
508 - Code clean-up with optimization for the codepath that checks
509 - (non-)existence of loose objects.
510 -
511 - Will merge to 'master'.
512 -
513 -
514 -* js/protocol-advertise-multi (2018-11-17) 1 commit
921 +* js/protocol-advertise-multi (2018-12-28) 1 commit
922 - protocol: advertise multiple supported versions
923
924 The transport layer has been updated so that the protocol version
@@ -519,151 +926,64 @@ of the repositories listed at
926 listing the protocol versions it is willing to talk, and the other
927 side choosing from one of them.
928
522 - Expecting a reroll.
523 - cf. <20181218230514.GH37614@google.com>
524 -
929
526 -* js/smart-http-detect-remote-error (2018-12-12) 4 commits
527 - - lib-httpd, t5551: check server-side HTTP errors
930 +* js/smart-http-detect-remote-error (2019-01-07) 3 commits
931 + - remote-curl: die on server-side errors
932 - remote-curl: tighten "version 2" check for smart-http
933 - remote-curl: refactor smart-http discovery
530 - - pack-protocol.txt: accept error packets in any context
934
935 Some errors from the other side coming over smart HTTP transport
936 were not noticed, which has been corrected.
937
535 - Will merge to 'next'.
536 -
938
538 -* nb/branch-show-other-worktrees-head (2018-11-12) 2 commits
539 - - branch: mark and colorize a branch differently if it is checked out in a linked worktree
540 - - ref-filter: add worktree atom
939 +* nb/branch-show-other-worktrees-head (2019-01-07) 4 commits
940 + - branch: add an extra verbose output displaying worktree path for checked out branch
941 + - branch: mark and color a branch that is checked out in a linked worktree differently
942 + - SQUASH???
943 + - ref-filter: add worktreepath atom
944
945 "git branch --list" learned to show branches that are checked out
946 in other worktrees connected to the same repository prefixed with
947 '+', similar to the way the currently checked out branch is shown
948 with '*' in front.
949 +
950
547 - Expecting a reroll.
548 -
549 -
550 -* nd/the-index (2018-11-12) 22 commits
551 - (merged to 'next' on 2018-12-28 at 6bbd3befbe)
552 - + rebase-interactive.c: remove the_repository references
553 - + rerere.c: remove the_repository references
554 - + pack-*.c: remove the_repository references
555 - + pack-check.c: remove the_repository references
556 - + notes-cache.c: remove the_repository references
557 - + line-log.c: remove the_repository reference
558 - + diff-lib.c: remove the_repository references
559 - + delta-islands.c: remove the_repository references
560 - + cache-tree.c: remove the_repository references
561 - + bundle.c: remove the_repository references
562 - + branch.c: remove the_repository reference
563 - + bisect.c: remove the_repository reference
564 - + blame.c: remove implicit dependency the_repository
565 - + sequencer.c: remove implicit dependency on the_repository
566 - + sequencer.c: remove implicit dependency on the_index
567 - + transport.c: remove implicit dependency on the_index
568 - + notes-merge.c: remove implicit dependency the_repository
569 - + notes-merge.c: remove implicit dependency on the_index
570 - + list-objects.c: reduce the_repository references
571 - + list-objects-filter.c: remove implicit dependency on the_index
572 - + wt-status.c: remove implicit dependency the_repository
573 - + wt-status.c: remove implicit dependency on the_index
574 - (this branch is used by md/list-objects-filter-by-depth.)
575 -
576 - Originally merged to 'next' on 2018-11-18
577 -
578 - More codepaths become aware of working with in-core repository
579 - instance other than the default "the_repository".
580 -
581 - Will merge to 'master'.
582 -
583 -
584 -* ot/ref-filter-object-info (2018-11-24) 6 commits
585 - - ref-filter: replace unportable `%lld` format with %PRIdMAX
951 +* ot/ref-filter-object-info (2018-12-28) 6 commits
952 - ref-filter: add docs for new options
953 - ref-filter: add tests for deltabase
954 - ref-filter: add deltabase option
955 - ref-filter: add tests for objectsize:disk
956 + - ref-filter: add check for negative file size
957 - ref-filter: add objectsize:disk option
958
959 The "--format=<placeholder>" option of for-each-ref, branch and tag
960 learned to show a few more traits of objects that can be learned by
961 the object_info API.
962
596 - Kicked out of 'next'; will replace with a reroll.
597 - cf. <01020167e063687c-37a43a09-0a5f-4335-8c21-ec15a0a67882-000000@eu-west-1.amazonses.com>
963 + Will merge to 'next'.
964
965
966 * sb/diff-color-moved-config-option-fixup (2018-11-14) 1 commit
601 - - diff: align move detection error handling with other options
967 + (merged to 'next' on 2019-01-04 at 46de5f42d1)
968 + + diff: align move detection error handling with other options
969
970 Minor inconsistency fix.
971
605 - Will merge to 'next'.
606 -
607 -
608 -* ab/push-dwim-dst (2018-11-14) 7 commits
609 - (merged to 'next' on 2018-12-28 at d9f618de10)
610 - + push doc: document the DWYM behavior pushing to unqualified <dst>
611 - + push: test that <src> doesn't DWYM if <dst> is unqualified
612 - + push: add an advice on unqualified <dst> push
613 - + push: move unqualified refname error into a function
614 - + push: improve the error shown on unqualified <dst> push
615 - + i18n: remote.c: mark error(...) messages for translation
616 - + remote.c: add braces in anticipation of a follow-up change
617 -
618 - Originally merged to 'next' on 2018-11-18
619 -
620 - "git push $there $src:$dst" rejects when $dst is not a fully
621 - qualified refname and not clear what the end user meant. The
622 - codepath has been taught to give a clearer error message, and also
623 - guess where the push should go by taking the type of the pushed
624 - object into account (e.g. a tag object would want to go under
625 - refs/tags/).
626 -
972 Will merge to 'master'.
973
974
975 * md/list-lazy-objects-fix (2018-12-06) 1 commit
631 - - list-objects.c: don't segfault for missing cmdline objects
976 + (merged to 'next' on 2019-01-04 at 93bd38fff9)
977 + + list-objects.c: don't segfault for missing cmdline objects
978
633 - "git rev-list --exclude-promissor-objects" had to take an object
979 + "git rev-list --exclude-promisor-objects" had to take an object
980 that does not exist locally (and is lazily available) from the
981 command line without barfing, but the code dereferenced NULL.
982
637 - Will merge to 'next'.
638 -
639 -
640 -* nd/i18n (2018-11-12) 16 commits
641 - (merged to 'next' on 2018-12-28 at 8e2de8338e)
642 - + fsck: mark strings for translation
643 - + fsck: reduce word legos to help i18n
644 - + parse-options.c: mark more strings for translation
645 - + parse-options.c: turn some die() to BUG()
646 - + parse-options: replace opterror() with optname()
647 - + repack: mark more strings for translation
648 - + remote.c: mark messages for translation
649 - + remote.c: turn some error() or die() to BUG()
650 - + reflog: mark strings for translation
651 - + read-cache.c: add missing colon separators
652 - + read-cache.c: mark more strings for translation
653 - + read-cache.c: turn die("internal error") to BUG()
654 - + attr.c: mark more string for translation
655 - + archive.c: mark more strings for translation
656 - + alias.c: mark split_cmdline_strerror() strings for translation
657 - + git.c: mark more strings for translation
658 -
659 - Originally merged to 'next' on 2018-11-18
660 -
661 - More _("i18n") markings.
662 -
983 Will merge to 'master'.
984
985
666 -* sb/more-repo-in-api (2018-11-14) 23 commits
986 +* sb/more-repo-in-api (2018-12-28) 23 commits
987 - t/helper/test-repository: celebrate independence from the_repository
988 - path.h: make REPO_GIT_PATH_FUNC repository agnostic
989 - commit: prepare free_commit_buffer and release_commit_memory for any repo
@@ -689,48 +1009,8 @@ of the repositories listed at
1009 - sha1_file: allow read_object to read objects in arbitrary repositories
1010 (this branch is used by jt/get-reference-with-commit-graph and md/list-objects-filter-by-depth.)
1011
692 - Originally merged to 'next' on 2018-11-19
693 -
1012 The in-core repository instances are passed through more codepaths.
1013
696 - Kicked out of 'next'; will replace with a reroll.
697 - cf. <20181215000942.46033-2-sbeller@google.com>
698 -
699 -
700 -* en/merge-path-collision (2018-12-01) 11 commits
701 - (merged to 'next' on 2018-12-28 at b50d3eee25)
702 - + t6036: avoid non-portable "cp -a"
703 - + merge-recursive: combine error handling
704 - + t6036, t6043: increase code coverage for file collision handling
705 - + merge-recursive: improve rename/rename(1to2)/add[/add] handling
706 - + merge-recursive: use handle_file_collision for add/add conflicts
707 - + merge-recursive: improve handling for rename/rename(2to1) conflicts
708 - + merge-recursive: fix rename/add conflict handling
709 - + merge-recursive: new function for better colliding conflict resolutions
710 - + merge-recursive: increase marker length with depth of recursion
711 - + t6036, t6042: testcases for rename collision of already conflicting files
712 - + t6042: add tests for consistency in file collision conflict handling
713 -
714 - Originally merged to 'next' on 2018-12-01
715 -
716 - Updates for corner cases in merge-recursive.
717 -
718 - Will merge to 'master'.
719 -
720 -
721 -* sd/stash-wo-user-name (2018-11-19) 1 commit
722 - (merged to 'next' on 2018-12-28 at 99197ef5a1)
723 - + stash: tolerate missing user identity
724 -
725 - Originally merged to 'next' on 2018-11-19
726 -
727 - A properly configured username/email is required under
728 - user.useConfigOnly in order to create commits; now "git stash"
729 - (even though it creates commit objects to represent stash entries)
730 - command is excempt from the requirement.
731 -
732 - Will merge to 'master'.
733 -
1014
1015 * bc/sha-256 (2018-11-14) 12 commits
1016 - hash: add an SHA-256 implementation using OpenSSL
@@ -849,36 +1129,37 @@ of the repositories listed at
1129 cf. <e5b2900a-0558-d3bf-8ea1-d526b078bbc2@talktalk.net>
1130
1131
852 -* ps/stash-in-c (2018-11-26) 22 commits
853 - . stash: replace all `write-tree` child processes with API calls
854 - . stash: optimize `get_untracked_files()` and `check_changes()`
855 - . stash: convert `stash--helper.c` into `stash.c`
856 - . stash: convert save to builtin
857 - . stash: make push -q quiet
858 - . stash: convert push to builtin
859 - . stash: convert create to builtin
860 - . stash: convert store to builtin
861 - . stash: convert show to builtin
862 - . stash: convert list to builtin
863 - . stash: convert pop to builtin
864 - . stash: convert branch to builtin
865 - . stash: convert drop and clear to builtin
866 - . stash: convert apply to builtin
867 - . stash: mention options in `show` synopsis
868 - . stash: add tests for `git stash show` config
869 - . stash: rename test cases to be more descriptive
870 - . t3903: modernize style
871 - . stash: improve option parsing test coverage
872 - . strbuf.c: add `strbuf_insertf()` and `strbuf_vinsertf()`
873 - . strbuf.c: add `strbuf_join_argv()`
874 - . sha1-name.c: add `get_oidf()` which acts like `get_oid()`
1132 +* ps/stash-in-c (2019-01-04) 27 commits
1133 + - tests: add a special setup where stash.useBuiltin is off
1134 + - stash: optionally use the scripted version again
1135 + - stash: add back the original, scripted `git stash`
1136 + - stash: convert `stash--helper.c` into `stash.c`
1137 + - stash: replace all `write-tree` child processes with API calls
1138 + - stash: optimize `get_untracked_files()` and `check_changes()`
1139 + - stash: convert save to builtin
1140 + - stash: make push -q quiet
1141 + - stash: convert push to builtin
1142 + - stash: convert create to builtin
1143 + - stash: convert store to builtin
1144 + - stash: convert show to builtin
1145 + - stash: convert list to builtin
1146 + - stash: convert pop to builtin
1147 + - stash: convert branch to builtin
1148 + - stash: convert drop and clear to builtin
1149 + - stash: convert apply to builtin
1150 + - stash: mention options in `show` synopsis
1151 + - stash: add tests for `git stash show` config
1152 + - stash: rename test cases to be more descriptive
1153 + - t3903: modernize style
1154 + - stash: improve option parsing test coverage
1155 + - ident: add the ability to provide a "fallback identity"
1156 + - strbuf.c: add `strbuf_insertf()` and `strbuf_vinsertf()`
1157 + - strbuf.c: add `strbuf_join_argv()`
1158 + - sha1-name.c: add `get_oidf()` which acts like `get_oid()`
1159 + - Merge branch 'sd/stash-wo-user-name'
1160
1161 "git stash" rewritten in C.
1162
878 - Expecting a reroll, probably on top of the sd/stash-wo-user-name
879 - topic after it stabilizes, with an escape hatch like the one in
880 - "rebase in C".
881 -
1163
1164 * pw/add-p-select (2018-07-26) 4 commits
1165 - add -p: optimize line selection for short hunks