What's cooking (2016/12 #04)

Junio C Hamano committed Dec 16, 2016 at 15:41 UTC 27fe017671d41e9eb5520f10190bb6a426f70062
1 file changed +320 -215
whats-cooking.txt
+320 -215
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Dec 2016, #03; Tue, 13)
4 -X-master-at: de2efebf7ce2b308ea77d8b06f971e935238cd2f
5 -X-next-at: 3074f9477c394cb6e81d163f738566535afd22ed
3 +Subject: What's cooking in git.git (Dec 2016, #04; Fri, 16)
4 +X-master-at: eff96d7e16a769dca9b0319ccf460a83f514676e
5 +X-next-at: f8bf8f2a7b2b08001fdf3e1c554eef9249e47c19
6
7 -What's cooking in git.git (Dec 2016, #03; Tue, 13)
7 +What's cooking in git.git (Dec 2016, #04; Fri, 16)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,9 +12,6 @@ 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 -A few topics were merged to 'master' and are meant for 'maint' to be
16 -in the first maintenance release for 2.11.x series.
17 -
15 You can find the changes described here in the integration branches
16 of the repositories listed at
17
@@ -23,65 +20,254 @@ of the repositories listed at
20 --------------------------------------------------
21 [Graduated to "master"]
22
26 -* ew/svn-fixes (2016-12-12) 2 commits
27 - (merged to 'next' on 2016-12-12 at 91ed5b3cf3)
28 - + git-svn: document useLogAuthor and addAuthorFrom config keys
29 - + git-svn: allow "0" in SVN path components
23 +* ak/lazy-prereq-mktemp (2016-11-29) 1 commit
24 + (merged to 'next' on 2016-12-12 at f346d1f053)
25 + + t7610: clean up foo.XXXXXX tmpdir
26 +
27 + Test code clean-up.
28 +
29 +
30 +* bw/push-dry-run (2016-11-23) 2 commits
31 + (merged to 'next' on 2016-12-12 at bde7a0f9ae)
32 + + push: fix --dry-run to not push submodules
33 + + push: --dry-run updates submodules when --recurse-submodules=on-demand
34 + (this branch uses hv/submodule-not-yet-pushed-fix; is tangled with sb/push-make-submodule-check-the-default.)
35 +
36 + "git push --dry-run --recurse-submodule=on-demand" wasn't
37 + "--dry-run" in the submodules.
38 +
39 +
40 +* da/mergetool-trust-exit-code (2016-11-29) 2 commits
41 + (merged to 'next' on 2016-12-12 at 28ae202868)
42 + + mergetools/vimdiff: trust Vim's exit code
43 + + mergetool: honor mergetool.$tool.trustExitCode for built-in tools
44 +
45 + mergetool.<tool>.trustExitCode configuration variable did not apply
46 + to built-in tools, but now it does.
47 +
48 +
49 +* dt/empty-submodule-in-merge (2016-11-17) 1 commit
50 + (merged to 'next' on 2016-12-12 at 6de2350b2b)
51 + + submodules: allow empty working-tree dirs in merge/cherry-pick
52 +
53 + An empty directory in a working tree that can simply be nuked used
54 + to interfere while merging or cherry-picking a change to create a
55 + submodule directory there, which has been fixed..
56 +
57 +
58 +* hv/submodule-not-yet-pushed-fix (2016-11-16) 4 commits
59 + (merged to 'next' on 2016-12-05 at c9d729fca2)
60 + + submodule_needs_pushing(): explain the behaviour when we cannot answer
61 + + batch check whether submodule needs pushing into one call
62 + + serialize collection of refs that contain submodule changes
63 + + serialize collection of changed submodules
64 + (this branch is used by bw/push-dry-run and sb/push-make-submodule-check-the-default.)
65 +
66 + Originally merged to 'next' on 2016-11-21
67 +
68 + The code in "git push" to compute if any commit being pushed in the
69 + superproject binds a commit in a submodule that hasn't been pushed
70 + out was overly inefficient, making it unusable even for a small
71 + project that does not have any submodule but have a reasonable
72 + number of refs.
73 +
74 +
75 +* jk/rev-parse-symbolic-parents-fix (2016-11-16) 1 commit
76 + (merged to 'next' on 2016-12-12 at 6839c1ea28)
77 + + rev-parse: fix parent shorthands with --symbolic
78 +
79 + "git rev-parse --symbolic" failed with a more recent notation like
80 + "HEAD^-1" and "HEAD^!".
81 +
82 +
83 +* ld/p4-update-shelve (2016-12-05) 1 commit
84 + (merged to 'next' on 2016-12-12 at 22f6bec94c)
85 + + git-p4: support updating an existing shelved changelist
86 + (this branch uses vk/p4-submit-shelve.)
87 +
88 + Will merge to 'master'.
89 +
90 +
91 +* ls/p4-empty-file-on-lfs (2016-12-05) 1 commit
92 + (merged to 'next' on 2016-12-12 at 1fce8e037a)
93 + + git-p4: fix empty file processing for large file system backend GitLFS
94 +
95 + "git p4" LFS support was broken when LFS stores an empty blob.
96 +
97 +
98 +* ls/p4-retry-thrice (2016-12-05) 1 commit
99 + (merged to 'next' on 2016-12-12 at 9462e660a8)
100 + + git-p4: add config to retry p4 commands; retry 3 times by default
101 +
102 + Will merge to 'master'.
103 +
104 +
105 +* nd/qsort-in-merge-recursive (2016-11-28) 1 commit
106 + (merged to 'next' on 2016-12-12 at e9700f5b93)
107 + + merge-recursive.c: use string_list_sort instead of qsort
108 +
109 + Code simplification.
110
31 - Meant eventually for 'maint'.
111
112 +* nd/worktree-list-fixup (2016-11-28) 5 commits
113 + (merged to 'next' on 2016-12-12 at 1f46421a59)
114 + + worktree list: keep the list sorted
115 + + worktree.c: get_worktrees() takes a new flag argument
116 + + get_worktrees() must return main worktree as first item even on error
117 + + worktree: reorder an if statement
118 + + worktree.c: zero new 'struct worktree' on allocation
119 + (this branch is used by nd/worktree-move and sb/submodule-embed-gitdir.)
120 +
121 + The output from "git worktree list" was made in readdir() order,
122 + and was unstable.
123
34 -* js/mingw-isatty (2016-12-11) 1 commit
35 - (merged to 'next' on 2016-12-12 at 60c1da6676)
36 - + mingw: intercept isatty() to handle /dev/null as Git expects it
124
38 - We often decide if a session is interactive by checking if the
39 - standard I/O streams are connected to a TTY, but isatty() that
40 - comes with Windows incorrectly returned true if it is used on NUL
41 - (i.e. an equivalent to /dev/null). This has been fixed.
125 +* vk/p4-submit-shelve (2016-11-29) 1 commit
126 + (merged to 'next' on 2016-12-12 at 3fce6df117)
127 + + git-p4: allow submit to create shelved changelists.
128 + (this branch is used by ld/p4-update-shelve.)
129
43 - Meant eventually for 'maint'.
130 + Will merge to 'master'.
131
132 --------------------------------------------------
133 [New Topics]
134
48 -* bw/realpath-wo-chdir (2016-12-12) 4 commits
49 - - real_path: have callers use real_pathdup and strbuf_realpath
50 - - real_path: create real_pathdup
51 - - real_path: convert real_path_internal to strbuf_realpath
52 - - real_path: resolve symlinks by hand
135 +* bw/pathspec-cleanup (2016-12-14) 16 commits
136 + - pathspec: rename prefix_pathspec to init_pathspec_item
137 + - pathspec: small readability changes
138 + - pathspec: create strip submodule slash helpers
139 + - pathspec: create parse_element_magic helper
140 + - pathspec: create parse_long_magic function
141 + - pathspec: create parse_short_magic function
142 + - pathspec: factor global magic into its own function
143 + - pathspec: simpler logic to prefix original pathspec elements
144 + - pathspec: always show mnemonic and name in unsupported_magic
145 + - pathspec: remove unused variable from unsupported_magic
146 + - pathspec: copy and free owned memory
147 + - pathspec: remove the deprecated get_pathspec function
148 + - ls-tree: convert show_recursive to use the pathspec struct interface
149 + - dir: convert fill_directory to use the pathspec struct interface
150 + - dir: remove struct path_simplify
151 + - mv: remove use of deprecated 'get_pathspec()'
152 +
153 + Code clean-up in the pathspec API.
154 +
155 + Waiting for the (hopefully) final round of review before 'next'.
156 +
157 +
158 +* cp/merge-continue (2016-12-15) 4 commits
159 + - merge: mark usage error strings for translation
160 + - merge: ensure '--abort' option takes no arguments
161 + - completion: add --continue option for merge
162 + - merge: add '--continue' option as a synonym for 'git commit'
163 +
164 + "git merge --continue" has been added as a synonym to "git commit"
165 + to conclude a merge that has stopped due to conflicts.
166
54 - The implementation of "real_path()" was to go there with chdir(2)
55 - and call getcwd(3), but this obviously wouldn't be usable in a
56 - threaded environment. Rewrite it to manually resolve relative
57 - paths including symbolic links in path components.
167 + Will merge to 'next'.
168
59 - What's the donness of the topic? Is this ready for 'next'?
169
170 +* jk/make-tags-find-sources-tweak (2016-12-14) 4 commits
171 + (merged to 'next' on 2016-12-16 at 06d0b0fbfd)
172 + + Makefile: exclude contrib from FIND_SOURCE_FILES
173 + + Makefile: match shell scripts in FIND_SOURCE_FILES
174 + + Makefile: exclude test cruft from FIND_SOURCE_FILES
175 + + Makefile: reformat FIND_SOURCE_FILES
176
62 -* jk/quote-env-path-list-component (2016-12-13) 4 commits
63 - - t5547-push-quarantine: run the path separator test on Windows, too
64 - - tmp-objdir: quote paths we add to alternates
65 - - alternates: accept double-quoted paths
66 - - Merge branch 'jk/alt-odb-cleanup' into jk/quote-env-path-list-component
177 + Update the procedure to generate "tags" for developer support.
178
68 - A recent update to receive-pack to make it easier to drop garbage
69 - objects made it clear that GIT_ALTERNATE_OBJECT_DIRECTORIES cannot
70 - have a pathname with a colon in it (no surprise!), and this in turn
71 - made it impossible to push into a repository at such a path. This
72 - has been fixed by introducing a quoting mechanism used when
73 - appending such a path to the colon-separated list.
179 + Will merge to 'master'.
180 +
181 +
182 +* jk/parseopt-usage-msg-opt (2016-12-14) 1 commit
183 + - parse-options: print "fatal:" before usage_msg_opt()
184 +
185 + The function usage_msg_opt() has been updated to say "fatal:"
186 + before the custom message programs give, when they want to die
187 + with a message about wrong command line options followed by the
188 + standard usage string.
189
190 Will merge to 'next'.
191
192
78 -* js/normalize-path-copy-ceil (2016-12-13) 1 commit
79 - - normalize_path_copy(): fix pushing to //server/share/dir paths on Windows
193 +* ld/p4-compare-dir-vs-symlink (2016-12-14) 1 commit
194 + - git-p4: avoid crash adding symlinked directory
195
81 - A pathname that begins with "//" or "\\" on Windows is special but
82 - path normalization logic was unaware of it.
196 + "git p4" misbehaved when swapping a directory and a symbolic link.
197 +
198 + Will merge to 'next'.
199 +
200 +
201 +* js/prepare-sequencer-more (2016-12-14) 34 commits
202 + - sequencer (rebase -i): write out the final message
203 + - sequencer (rebase -i): write the progress into files
204 + - sequencer (rebase -i): show the progress
205 + - sequencer (rebase -i): suggest --edit-todo upon unknown command
206 + - sequencer (rebase -i): show only failed cherry-picks' output
207 + - sequencer (rebase -i): show only failed `git commit`'s output
208 + - run_command_opt(): optionally hide stderr when the command succeeds
209 + - sequencer (rebase -i): differentiate between comments and 'noop'
210 + - sequencer (rebase -i): implement the 'drop' command
211 + - sequencer (rebase -i): allow rescheduling commands
212 + - sequencer (rebase -i): respect strategy/strategy_opts settings
213 + - sequencer (rebase -i): respect the rebase.autostash setting
214 + - sequencer (rebase -i): run the post-rewrite hook, if needed
215 + - sequencer (rebase -i): record interrupted commits in rewritten, too
216 + - sequencer (rebase -i): copy commit notes at end
217 + - sequencer (rebase -i): set the reflog message consistently
218 + - sequencer (rebase -i): refactor setting the reflog message
219 + - sequencer (rebase -i): allow fast-forwarding for edit/reword
220 + - sequencer (rebase -i): implement the 'reword' command
221 + - sequencer (rebase -i): leave a patch upon error
222 + - sequencer (rebase -i): update refs after a successful rebase
223 + - sequencer (rebase -i): the todo can be empty when continuing
224 + - sequencer (rebase -i): skip some revert/cherry-pick specific code path
225 + - sequencer (rebase -i): remove CHERRY_PICK_HEAD when no longer needed
226 + - sequencer (rebase -i): allow continuing with staged changes
227 + - sequencer (rebase -i): write an author-script file
228 + - sequencer (rebase -i): implement the short commands
229 + - sequencer (rebase -i): add support for the 'fixup' and 'squash' commands
230 + - sequencer (rebase -i): write the 'done' file
231 + - sequencer (rebase -i): learn about the 'verbose' mode
232 + - sequencer (rebase -i): implement the 'exec' command
233 + - sequencer (rebase -i): implement the 'edit' command
234 + - sequencer (rebase -i): implement the 'noop' command
235 + - sequencer: support a new action: 'interactive rebase'
236 +
237 + The sequencer has further been extended in preparation to act as a
238 + back-end for "rebase -i".
239 +
240 + Waiting for review.
241 +
242 +
243 +* jk/index-pack-wo-repo-from-stdin (2016-12-16) 4 commits
244 + - index-pack: skip collision check when not in repository
245 + - t: use nongit() function where applicable
246 + - index-pack: complain when --stdin is used outside of a repo
247 + - t5000: extract nongit function to test-lib-functions.sh
248 +
249 + "git index-pack --stdin" needs an access to an existing repository,
250 + but "git index-pack file.pack" to generate an .idx file that
251 + corresponds to a packfile does not.
252 +
253 + Will merge to 'next'.
254 +
255 +
256 +* jk/readme-gmane-is-no-more (2016-12-15) 1 commit
257 + (merged to 'next' on 2016-12-16 at 44ad5c5205)
258 + + README: replace gmane link with public-inbox
259
84 - Will merge to 'next', but I'd appreciate a second set of eyes on this.
260 + Will merge to 'master'.
261 +
262 +
263 +* lt/shortlog-by-committer (2016-12-16) 2 commits
264 + - shortlog: test and document --committer option
265 + - shortlog: group by committer information
266 +
267 + "git shortlog" learned "--committer" option to group commits by
268 + committer, instead of author.
269 +
270 + Will merge to 'next'.
271
272 --------------------------------------------------
273 [Stalled]
@@ -129,7 +315,6 @@ of the repositories listed at
315 . copy.c: convert bb_(p)error_msg to error(_errno)
316 . copy.c: delete unused code in copy_file()
317 . copy.c: import copy_file() from busybox
132 - (this branch uses nd/worktree-list-fixup; is tangled with sb/submodule-embed-gitdir.)
318
319 "git worktree" learned move and remove subcommands.
320
@@ -223,6 +408,48 @@ of the repositories listed at
408 --------------------------------------------------
409 [Cooking]
410
411 +* bw/realpath-wo-chdir (2016-12-12) 4 commits
412 + - real_path: have callers use real_pathdup and strbuf_realpath
413 + - real_path: create real_pathdup
414 + - real_path: convert real_path_internal to strbuf_realpath
415 + - real_path: resolve symlinks by hand
416 + (this branch is used by bw/grep-recurse-submodules.)
417 +
418 + The implementation of "real_path()" was to go there with chdir(2)
419 + and call getcwd(3), but this obviously wouldn't be usable in a
420 + threaded environment. Rewrite it to manually resolve relative
421 + paths including symbolic links in path components.
422 +
423 + Will merge to 'next'.
424 +
425 +
426 +* jk/quote-env-path-list-component (2016-12-13) 4 commits
427 + (merged to 'next' on 2016-12-16 at d2cd6008b9)
428 + + t5547-push-quarantine: run the path separator test on Windows, too
429 + + tmp-objdir: quote paths we add to alternates
430 + + alternates: accept double-quoted paths
431 + + Merge branch 'jk/alt-odb-cleanup' into jk/quote-env-path-list-component
432 +
433 + A recent update to receive-pack to make it easier to drop garbage
434 + objects made it clear that GIT_ALTERNATE_OBJECT_DIRECTORIES cannot
435 + have a pathname with a colon in it (no surprise!), and this in turn
436 + made it impossible to push into a repository at such a path. This
437 + has been fixed by introducing a quoting mechanism used when
438 + appending such a path to the colon-separated list.
439 +
440 + Will merge to 'master'.
441 +
442 +
443 +* js/normalize-path-copy-ceil (2016-12-16) 1 commit
444 + (merged to 'next' on 2016-12-16 at 634ba4debc)
445 + + normalize_path_copy(): fix pushing to //server/share/dir on Windows
446 +
447 + A pathname that begins with "//" or "\\" on Windows is special but
448 + path normalization logic was unaware of it.
449 +
450 + Will merge to 'master'.
451 +
452 +
453 * jc/lock-report-on-error (2016-12-07) 3 commits
454 (merged to 'next' on 2016-12-13 at cb6c07ee92)
455 + lockfile: LOCK_REPORT_ON_ERROR
@@ -252,7 +479,9 @@ of the repositories listed at
479 Will merge to 'master'.
480
481
255 -* sb/sequencer-abort-safety (2016-12-09) 5 commits
482 +* sb/sequencer-abort-safety (2016-12-14) 6 commits
483 + (merged to 'next' on 2016-12-16 at ec71fb1217)
484 + + Revert "sequencer: remove useless get_dir() function"
485 (merged to 'next' on 2016-12-13 at 6107e43d65)
486 + sequencer: remove useless get_dir() function
487 + sequencer: make sequencer abort safer
@@ -324,26 +553,6 @@ of the repositories listed at
553 Will merge to 'master'.
554
555
327 -* ak/lazy-prereq-mktemp (2016-11-29) 1 commit
328 - (merged to 'next' on 2016-12-12 at f346d1f053)
329 - + t7610: clean up foo.XXXXXX tmpdir
330 -
331 - Test code clean-up.
332 -
333 - Will merge to 'master'.
334 -
335 -
336 -* da/mergetool-trust-exit-code (2016-11-29) 2 commits
337 - (merged to 'next' on 2016-12-12 at 28ae202868)
338 - + mergetools/vimdiff: trust Vim's exit code
339 - + mergetool: honor mergetool.$tool.trustExitCode for built-in tools
340 -
341 - mergetool.<tool>.trustExitCode configuration variable did not apply
342 - to built-in tools, but now it does.
343 -
344 - Will merge to 'master'.
345 -
346 -
556 * jb/diff-no-index-no-abbrev (2016-12-08) 1 commit
557 (merged to 'next' on 2016-12-12 at 959981ef50)
558 + diff: handle --no-abbrev in no-index case
@@ -353,14 +562,6 @@ of the repositories listed at
562 Will merge to 'master'.
563
564
356 -* vk/p4-submit-shelve (2016-11-29) 1 commit
357 - (merged to 'next' on 2016-12-12 at 3fce6df117)
358 - + git-p4: allow submit to create shelved changelists.
359 - (this branch is used by ld/p4-update-shelve.)
360 -
361 - Will merge to 'master'.
362 -
363 -
565 * jk/http-walker-limit-redirect-2.9 (2016-12-06) 5 commits
566 (merged to 'next' on 2016-12-12 at 3e4bcd7bca)
567 + http: treat http-alternates like redirects
@@ -368,7 +569,7 @@ of the repositories listed at
569 + remote-curl: rename shadowed options variable
570 + http: always update the base URL for redirects
571 + http: simplify update_url_from_redirect
371 - (this branch is used by jk/http-walker-limit-redirect.)
572 + (this branch is used by bw/transport-protocol-policy and jk/http-walker-limit-redirect.)
573
574 Transport with dumb http can be fooled into following foreign URLs
575 that the end user does not intend to, especially with the server
@@ -383,7 +584,7 @@ of the repositories listed at
584 (merged to 'next' on 2016-12-12 at 8b58025e3a)
585 + http-walker: complain about non-404 loose object errors
586 + Merge branch 'ew/http-walker' into jk/http-walker-limit-redirect
386 - (this branch uses jk/http-walker-limit-redirect-2.9.)
587 + (this branch is used by bw/transport-protocol-policy; uses jk/http-walker-limit-redirect-2.9.)
588
589 Update the error messages from the dumb-http client when it fails
590 to obtain loose objects; we used to give sensible error message
@@ -417,50 +618,27 @@ of the repositories listed at
618 Will merge to 'master'.
619
620
420 -* bb/unicode-9.0 (2016-12-13) 6 commits
421 - - unicode_width.h: update the width tables to Unicode 9.0
422 - - update_unicode.sh: remove the plane filter
423 - - update-unicode.sh: automatically download newer definition files
424 - - update_unicode.sh: pin the uniset repo to a known good commit
425 - - update_unicode.sh: remove an unnecessary subshell level
426 - - update_unicode.sh: move it into contrib/update-unicode
621 +* bb/unicode-9.0 (2016-12-14) 6 commits
622 + (merged to 'next' on 2016-12-16 at be2531431a)
623 + + unicode_width.h: update the width tables to Unicode 9.0
624 + + update_unicode.sh: remove the plane filter
625 + + update_unicode.sh: automatically download newer definition files
626 + + update_unicode.sh: pin the uniset repo to a known good commit
627 + + update_unicode.sh: remove an unnecessary subshell level
628 + + update_unicode.sh: move it into contrib/update-unicode
629
630 The character width table has been updated to match Unicode 9.0
631
430 - Will merge to 'next'.
431 -
432 -
433 -* ld/p4-update-shelve (2016-12-05) 1 commit
434 - (merged to 'next' on 2016-12-12 at 22f6bec94c)
435 - + git-p4: support updating an existing shelved changelist
436 - (this branch uses vk/p4-submit-shelve.)
437 -
632 Will merge to 'master'.
633
634
635 * ld/p4-worktree (2016-12-13) 1 commit
442 - - git-p4: support git worktrees
636 + (merged to 'next' on 2016-12-16 at 5210ab9973)
637 + + git-p4: support git worktrees
638
639 "git p4" didn't interact with the internal of .git directory
640 correctly in the modern "git-worktree"-enabled world.
641
447 - Will merge to 'next'.
448 - Rerolled. Looking good.
449 -
450 -
451 -* ls/p4-empty-file-on-lfs (2016-12-05) 1 commit
452 - (merged to 'next' on 2016-12-12 at 1fce8e037a)
453 - + git-p4: fix empty file processing for large file system backend GitLFS
454 -
455 - "git p4" LFS support was broken when LFS stores an empty blob.
456 -
457 - Will merge to 'master'.
458 -
459 -
460 -* ls/p4-retry-thrice (2016-12-05) 1 commit
461 - (merged to 'next' on 2016-12-12 at 9462e660a8)
462 - + git-p4: add config to retry p4 commands; retry 3 times by default
463 -
642 Will merge to 'master'.
643
644
@@ -580,62 +758,15 @@ of the repositories listed at
758 What's the doneness of this topic?
759
760
583 -* nd/qsort-in-merge-recursive (2016-11-28) 1 commit
584 - (merged to 'next' on 2016-12-12 at e9700f5b93)
585 - + merge-recursive.c: use string_list_sort instead of qsort
586 -
587 - Code simplification.
588 -
589 - Will merge to 'master'.
590 -
591 -
592 -* bw/push-dry-run (2016-11-23) 2 commits
593 - (merged to 'next' on 2016-12-12 at bde7a0f9ae)
594 - + push: fix --dry-run to not push submodules
595 - + push: --dry-run updates submodules when --recurse-submodules=on-demand
596 - (this branch uses hv/submodule-not-yet-pushed-fix; is tangled with sb/push-make-submodule-check-the-default.)
597 -
598 - "git push --dry-run --recurse-submodule=on-demand" wasn't
599 - "--dry-run" in the submodules.
600 -
601 - Will merge to 'master'.
602 -
603 -
761 * sb/push-make-submodule-check-the-default (2016-11-29) 2 commits
762 (merged to 'next' on 2016-12-12 at 1863e05af5)
763 + push: change submodule default to check when submodules exist
764 + submodule add: extend force flag to add existing repos
608 - (this branch uses hv/submodule-not-yet-pushed-fix; is tangled with bw/push-dry-run.)
765
766 Turn the default of "push.recurseSubmodules" to "check" when
767 submodules seem to be in use.
768
613 - Will merge to 'master'.
614 -
615 -
616 -* jk/rev-parse-symbolic-parents-fix (2016-11-16) 1 commit
617 - (merged to 'next' on 2016-12-12 at 6839c1ea28)
618 - + rev-parse: fix parent shorthands with --symbolic
619 -
620 - "git rev-parse --symbolic" failed with a more recent notation like
621 - "HEAD^-1" and "HEAD^!".
622 -
623 - Will merge to 'master'.
624 -
625 -
626 -* nd/worktree-list-fixup (2016-11-28) 5 commits
627 - (merged to 'next' on 2016-12-12 at 1f46421a59)
628 - + worktree list: keep the list sorted
629 - + worktree.c: get_worktrees() takes a new flag argument
630 - + get_worktrees() must return main worktree as first item even on error
631 - + worktree: reorder an if statement
632 - + worktree.c: zero new 'struct worktree' on allocation
633 - (this branch is used by nd/worktree-move and sb/submodule-embed-gitdir.)
634 -
635 - The output from "git worktree list" was made in readdir() order,
636 - and was unstable.
637 -
638 - Will merge to 'master'.
769 + Will cook in 'next'.
770
771
772 * jk/trailers-placeholder-in-pretty (2016-12-11) 2 commits
@@ -657,38 +788,28 @@ of the repositories listed at
788 - test-lib-functions.sh: teach test_commit -C <dir>
789 - submodule helper: support super prefix
790 - submodule: use absolute path for computing relative path connecting
660 - (this branch uses nd/worktree-list-fixup; is tangled with nd/worktree-move.)
791
792 A new submodule helper "git submodule embedgitdirs" to make it
793 easier to move embedded .git/ directory for submodules in a
794 superproject to .git/modules/ (and point the latter with the former
795 that is turned into a "gitdir:" file) has been added.
796
667 - Is this now pretty much done and ready for 'next'?
668 -
669 -
670 -* dt/empty-submodule-in-merge (2016-11-17) 1 commit
671 - (merged to 'next' on 2016-12-12 at 6de2350b2b)
672 - + submodules: allow empty working-tree dirs in merge/cherry-pick
673 -
674 - An empty directory in a working tree that can simply be nuked used
675 - to interfere while merging or cherry-picking a change to create a
676 - submodule directory there, which has been fixed..
677 -
678 - Will merge to 'master'.
797 + Will merge to 'next'.
798
799
681 -* bw/grep-recurse-submodules (2016-11-22) 6 commits
682 - . grep: search history of moved submodules
683 - . grep: enable recurse-submodules to work on <tree> objects
684 - . grep: optionally recurse into submodules
685 - . grep: add submodules as a grep source type
686 - . submodules: load gitmodules file from commit sha1
687 - . submodules: add helper functions to determine presence of submodules
800 +* bw/grep-recurse-submodules (2016-12-16) 7 commits
801 + - grep: search history of moved submodules
802 + - grep: enable recurse-submodules to work on <tree> objects
803 + - grep: optionally recurse into submodules
804 + - grep: add submodules as a grep source type
805 + - submodules: load gitmodules file from commit sha1
806 + - submodules: add helper to determine if a submodule is initialized
807 + - submodules: add helper to determine if a submodule is populated
808 + (this branch uses bw/realpath-wo-chdir.)
809
810 "git grep" learns to optionally recurse into submodules
811
691 - Will be redone on top of the bw/realpath-wo-chdir.
812 + Will merge to 'next'.
813
814
815 * dt/smart-http-detect-server-going-away (2016-11-18) 2 commits
@@ -745,25 +866,6 @@ of the repositories listed at
866 Will cook in 'next'.
867
868
748 -* hv/submodule-not-yet-pushed-fix (2016-11-16) 4 commits
749 - (merged to 'next' on 2016-12-05 at c9d729fca2)
750 - + submodule_needs_pushing(): explain the behaviour when we cannot answer
751 - + batch check whether submodule needs pushing into one call
752 - + serialize collection of refs that contain submodule changes
753 - + serialize collection of changed submodules
754 - (this branch is used by bw/push-dry-run and sb/push-make-submodule-check-the-default.)
755 -
756 - Originally merged to 'next' on 2016-11-21
757 -
758 - The code in "git push" to compute if any commit being pushed in the
759 - superproject binds a commit in a submodule that hasn't been pushed
760 - out was overly inefficient, making it unusable even for a small
761 - project that does not have any submodule but have a reasonable
762 - number of refs.
763 -
764 - Will cook in 'next'.
765 -
766 -
869 * kn/ref-filter-branch-list (2016-12-08) 20 commits
870 - branch: implement '--format' option
871 - branch: use ref-filter printing APIs
@@ -793,19 +895,20 @@ of the repositories listed at
895 and also saw a "squash this in when you reroll", but I lost track.
896
897
796 -* bw/transport-protocol-policy (2016-12-05) 5 commits
898 +* bw/transport-protocol-policy (2016-12-15) 6 commits
899 + - http: respect protocol.*.allow=user for http-alternates
900 - transport: add from_user parameter to is_transport_allowed
901 - http: create function to get curl allowed protocols
799 - - http: always warn if libcurl version is too old
902 - transport: add protocol policy config option
903 + - http: always warn if libcurl version is too old
904 - lib-proto-disable: variable name fix
905 + (this branch uses jk/http-walker-limit-redirect and jk/http-walker-limit-redirect-2.9.)
906
907 Finer-grained control of what protocols are allowed for transports
908 during clone/fetch/push have been enabled via a new configuration
909 mechanism.
910
807 - What's the doneness of this topic? Did we agree that it should be
808 - rebased on top of Peff's http-walker-limit-redirect series?
911 + Will merge to 'next'.
912
913
914 * jt/fetch-no-redundant-tag-fetch-map (2016-11-11) 1 commit
@@ -997,13 +1100,13 @@ of the repositories listed at
1100
1101
1102 * sb/attr (2016-11-11) 35 commits
1000 - - completion: clone can initialize specific submodules
1001 - - clone: add --init-submodule=<pathspec> switch
1002 - - submodule update: add `--init-default-path` switch
1003 - - pathspec: allow escaped query values
1004 - - pathspec: allow querying for attributes
1005 - - pathspec: move prefix check out of the inner loop
1006 - - pathspec: move long magic parsing out of prefix_pathspec
1103 + . completion: clone can initialize specific submodules
1104 + . clone: add --init-submodule=<pathspec> switch
1105 + . submodule update: add `--init-default-path` switch
1106 + . pathspec: allow escaped query values
1107 + . pathspec: allow querying for attributes
1108 + . pathspec: move prefix check out of the inner loop
1109 + . pathspec: move long magic parsing out of prefix_pathspec
1110 - Documentation: fix a typo
1111 - attr: keep attr stack for each check
1112 - attr: convert to new threadsafe API
@@ -1038,10 +1141,11 @@ of the repositories listed at
1141 Building on top of the updated API, the pathspec machinery learned
1142 to select only paths with given attributes set.
1143
1041 - Waiting for review.
1144 + The parts near the tip about pathspec would need to work better
1145 + with bw/pathspec-cleanup topic and has been dropped for now.
1146
1147
1044 -* va/i18n-perl-scripts (2016-11-11) 16 commits
1148 +* va/i18n-perl-scripts (2016-12-14) 16 commits
1149 - i18n: difftool: mark warnings for translation
1150 - i18n: send-email: mark composing message for translation
1151 - i18n: send-email: mark string with interpolation for translation
@@ -1061,7 +1165,7 @@ of the repositories listed at
1165
1166 Porcelain scripts written in Perl are getting internationalized.
1167
1064 - Waiting for review.
1168 + Will merge to 'next'.
1169
1170
1171 * jc/latin-1 (2016-09-26) 2 commits
@@ -1098,13 +1202,14 @@ of the repositories listed at
1202
1203
1204 * jc/pull-rebase-ff (2016-11-29) 1 commit
1101 - - pull: fast-forward "pull --rebase=true"
1205 + (merged to 'next' on 2016-12-16 at c1a0cedd9e)
1206 + + pull: fast-forward "pull --rebase=true"
1207
1208 "git pull --rebase", when there is no new commits on our side since
1209 we forked from the upstream, should be able to fast-forward without
1210 invoking "git rebase", but it didn't.
1211
1107 - Will merge to 'next'.
1212 + Will merge to 'master'.
1213
1214
1215 * jc/merge-drop-old-syntax (2015-04-29) 1 commit