]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2016/12 #04)
authorJunio C Hamano <gitster@pobox.com>
Fri, 16 Dec 2016 23:41:25 +0000 (15:41 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 16 Dec 2016 23:42:18 +0000 (15:42 -0800)
whats-cooking.txt

index 4a83e7a439684fdbf314974494b1afda5bbb168a..f818f057e8f16e346f46cd66cfb761e6f6627889 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Dec 2016, #03; Tue, 13)
-X-master-at: de2efebf7ce2b308ea77d8b06f971e935238cd2f
-X-next-at: 3074f9477c394cb6e81d163f738566535afd22ed
+Subject: What's cooking in git.git (Dec 2016, #04; Fri, 16)
+X-master-at: eff96d7e16a769dca9b0319ccf460a83f514676e
+X-next-at: f8bf8f2a7b2b08001fdf3e1c554eef9249e47c19
 
-What's cooking in git.git (Dec 2016, #03; Tue, 13)
+What's cooking in git.git (Dec 2016, #04; Fri, 16)
 --------------------------------------------------
 
 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
 '+' are in 'next'.  The ones marked with '.' do not appear in any of
 the integration branches, but I am still holding onto them.
 
-A few topics were merged to 'master' and are meant for 'maint' to be
-in the first maintenance release for 2.11.x series.
-
 You can find the changes described here in the integration branches
 of the repositories listed at
 
@@ -23,65 +20,254 @@ of the repositories listed at
 --------------------------------------------------
 [Graduated to "master"]
 
-* ew/svn-fixes (2016-12-12) 2 commits
-  (merged to 'next' on 2016-12-12 at 91ed5b3cf3)
- + git-svn: document useLogAuthor and addAuthorFrom config keys
- + git-svn: allow "0" in SVN path components
+* ak/lazy-prereq-mktemp (2016-11-29) 1 commit
+  (merged to 'next' on 2016-12-12 at f346d1f053)
+ + t7610: clean up foo.XXXXXX tmpdir
+
+ Test code clean-up.
+
+
+* bw/push-dry-run (2016-11-23) 2 commits
+  (merged to 'next' on 2016-12-12 at bde7a0f9ae)
+ + push: fix --dry-run to not push submodules
+ + push: --dry-run updates submodules when --recurse-submodules=on-demand
+ (this branch uses hv/submodule-not-yet-pushed-fix; is tangled with sb/push-make-submodule-check-the-default.)
+
+ "git push --dry-run --recurse-submodule=on-demand" wasn't
+ "--dry-run" in the submodules.
+
+
+* da/mergetool-trust-exit-code (2016-11-29) 2 commits
+  (merged to 'next' on 2016-12-12 at 28ae202868)
+ + mergetools/vimdiff: trust Vim's exit code
+ + mergetool: honor mergetool.$tool.trustExitCode for built-in tools
+
+ mergetool.<tool>.trustExitCode configuration variable did not apply
+ to built-in tools, but now it does.
+
+
+* dt/empty-submodule-in-merge (2016-11-17) 1 commit
+  (merged to 'next' on 2016-12-12 at 6de2350b2b)
+ + submodules: allow empty working-tree dirs in merge/cherry-pick
+
+ An empty directory in a working tree that can simply be nuked used
+ to interfere while merging or cherry-picking a change to create a
+ submodule directory there, which has been fixed..
+
+
+* hv/submodule-not-yet-pushed-fix (2016-11-16) 4 commits
+  (merged to 'next' on 2016-12-05 at c9d729fca2)
+ + submodule_needs_pushing(): explain the behaviour when we cannot answer
+ + batch check whether submodule needs pushing into one call
+ + serialize collection of refs that contain submodule changes
+ + serialize collection of changed submodules
+ (this branch is used by bw/push-dry-run and sb/push-make-submodule-check-the-default.)
+
+ Originally merged to 'next' on 2016-11-21
+
+ The code in "git push" to compute if any commit being pushed in the
+ superproject binds a commit in a submodule that hasn't been pushed
+ out was overly inefficient, making it unusable even for a small
+ project that does not have any submodule but have a reasonable
+ number of refs.
+
+
+* jk/rev-parse-symbolic-parents-fix (2016-11-16) 1 commit
+  (merged to 'next' on 2016-12-12 at 6839c1ea28)
+ + rev-parse: fix parent shorthands with --symbolic
+
+ "git rev-parse --symbolic" failed with a more recent notation like
+ "HEAD^-1" and "HEAD^!".
+
+
+* ld/p4-update-shelve (2016-12-05) 1 commit
+  (merged to 'next' on 2016-12-12 at 22f6bec94c)
+ + git-p4: support updating an existing shelved changelist
+ (this branch uses vk/p4-submit-shelve.)
+
+ Will merge to 'master'.
+
+
+* ls/p4-empty-file-on-lfs (2016-12-05) 1 commit
+  (merged to 'next' on 2016-12-12 at 1fce8e037a)
+ + git-p4: fix empty file processing for large file system backend GitLFS
+
+ "git p4" LFS support was broken when LFS stores an empty blob.
+
+
+* ls/p4-retry-thrice (2016-12-05) 1 commit
+  (merged to 'next' on 2016-12-12 at 9462e660a8)
+ + git-p4: add config to retry p4 commands; retry 3 times by default
+
+ Will merge to 'master'.
+
+
+* nd/qsort-in-merge-recursive (2016-11-28) 1 commit
+  (merged to 'next' on 2016-12-12 at e9700f5b93)
+ + merge-recursive.c: use string_list_sort instead of qsort
+
+ Code simplification.
 
- Meant eventually for 'maint'.
 
+* nd/worktree-list-fixup (2016-11-28) 5 commits
+  (merged to 'next' on 2016-12-12 at 1f46421a59)
+ + worktree list: keep the list sorted
+ + worktree.c: get_worktrees() takes a new flag argument
+ + get_worktrees() must return main worktree as first item even on error
+ + worktree: reorder an if statement
+ + worktree.c: zero new 'struct worktree' on allocation
+ (this branch is used by nd/worktree-move and sb/submodule-embed-gitdir.)
+
+ The output from "git worktree list" was made in readdir() order,
+ and was unstable.
 
-* js/mingw-isatty (2016-12-11) 1 commit
-  (merged to 'next' on 2016-12-12 at 60c1da6676)
- + mingw: intercept isatty() to handle /dev/null as Git expects it
 
- We often decide if a session is interactive by checking if the
- standard I/O streams are connected to a TTY, but isatty() that
- comes with Windows incorrectly returned true if it is used on NUL
- (i.e. an equivalent to /dev/null). This has been fixed.
+* vk/p4-submit-shelve (2016-11-29) 1 commit
+  (merged to 'next' on 2016-12-12 at 3fce6df117)
+ + git-p4: allow submit to create shelved changelists.
+ (this branch is used by ld/p4-update-shelve.)
 
Meant eventually for 'maint'.
Will merge to 'master'.
 
 --------------------------------------------------
 [New Topics]
 
-* bw/realpath-wo-chdir (2016-12-12) 4 commits
- - real_path: have callers use real_pathdup and strbuf_realpath
- - real_path: create real_pathdup
- - real_path: convert real_path_internal to strbuf_realpath
- - real_path: resolve symlinks by hand
+* bw/pathspec-cleanup (2016-12-14) 16 commits
+ - pathspec: rename prefix_pathspec to init_pathspec_item
+ - pathspec: small readability changes
+ - pathspec: create strip submodule slash helpers
+ - pathspec: create parse_element_magic helper
+ - pathspec: create parse_long_magic function
+ - pathspec: create parse_short_magic function
+ - pathspec: factor global magic into its own function
+ - pathspec: simpler logic to prefix original pathspec elements
+ - pathspec: always show mnemonic and name in unsupported_magic
+ - pathspec: remove unused variable from unsupported_magic
+ - pathspec: copy and free owned memory
+ - pathspec: remove the deprecated get_pathspec function
+ - ls-tree: convert show_recursive to use the pathspec struct interface
+ - dir: convert fill_directory to use the pathspec struct interface
+ - dir: remove struct path_simplify
+ - mv: remove use of deprecated 'get_pathspec()'
+
+ Code clean-up in the pathspec API.
+
+ Waiting for the (hopefully) final round of review before 'next'.
+
+
+* cp/merge-continue (2016-12-15) 4 commits
+ - merge: mark usage error strings for translation
+ - merge: ensure '--abort' option takes no arguments
+ - completion: add --continue option for merge
+ - merge: add '--continue' option as a synonym for 'git commit'
+
+ "git merge --continue" has been added as a synonym to "git commit"
+ to conclude a merge that has stopped due to conflicts.
 
- The implementation of "real_path()" was to go there with chdir(2)
- and call getcwd(3), but this obviously wouldn't be usable in a
- threaded environment.  Rewrite it to manually resolve relative
- paths including symbolic links in path components.
+ Will merge to 'next'.
 
- What's the donness of the topic?  Is this ready for 'next'?
 
+* jk/make-tags-find-sources-tweak (2016-12-14) 4 commits
+  (merged to 'next' on 2016-12-16 at 06d0b0fbfd)
+ + Makefile: exclude contrib from FIND_SOURCE_FILES
+ + Makefile: match shell scripts in FIND_SOURCE_FILES
+ + Makefile: exclude test cruft from FIND_SOURCE_FILES
+ + Makefile: reformat FIND_SOURCE_FILES
 
-* jk/quote-env-path-list-component (2016-12-13) 4 commits
- - t5547-push-quarantine: run the path separator test on Windows, too
- - tmp-objdir: quote paths we add to alternates
- - alternates: accept double-quoted paths
- - Merge branch 'jk/alt-odb-cleanup' into jk/quote-env-path-list-component
+ Update the procedure to generate "tags" for developer support.
 
- A recent update to receive-pack to make it easier to drop garbage
- objects made it clear that GIT_ALTERNATE_OBJECT_DIRECTORIES cannot
- have a pathname with a colon in it (no surprise!), and this in turn
- made it impossible to push into a repository at such a path.  This
- has been fixed by introducing a quoting mechanism used when
- appending such a path to the colon-separated list.
+ Will merge to 'master'.
+
+
+* jk/parseopt-usage-msg-opt (2016-12-14) 1 commit
+ - parse-options: print "fatal:" before usage_msg_opt()
+
+ The function usage_msg_opt() has been updated to say "fatal:"
+ before the custom message programs give, when they want to die
+ with a message about wrong command line options followed by the
+ standard usage string.
 
  Will merge to 'next'.
 
 
-* js/normalize-path-copy-ceil (2016-12-13) 1 commit
- - normalize_path_copy(): fix pushing to //server/share/dir paths on Windows
+* ld/p4-compare-dir-vs-symlink (2016-12-14) 1 commit
+ - git-p4: avoid crash adding symlinked directory
 
- A pathname that begins with "//" or "\\" on Windows is special but
- path normalization logic was unaware of it.
+ "git p4" misbehaved when swapping a directory and a symbolic link.
+
+ Will merge to 'next'.
+
+
+* js/prepare-sequencer-more (2016-12-14) 34 commits
+ - sequencer (rebase -i): write out the final message
+ - sequencer (rebase -i): write the progress into files
+ - sequencer (rebase -i): show the progress
+ - sequencer (rebase -i): suggest --edit-todo upon unknown command
+ - sequencer (rebase -i): show only failed cherry-picks' output
+ - sequencer (rebase -i): show only failed `git commit`'s output
+ - run_command_opt(): optionally hide stderr when the command succeeds
+ - sequencer (rebase -i): differentiate between comments and 'noop'
+ - sequencer (rebase -i): implement the 'drop' command
+ - sequencer (rebase -i): allow rescheduling commands
+ - sequencer (rebase -i): respect strategy/strategy_opts settings
+ - sequencer (rebase -i): respect the rebase.autostash setting
+ - sequencer (rebase -i): run the post-rewrite hook, if needed
+ - sequencer (rebase -i): record interrupted commits in rewritten, too
+ - sequencer (rebase -i): copy commit notes at end
+ - sequencer (rebase -i): set the reflog message consistently
+ - sequencer (rebase -i): refactor setting the reflog message
+ - sequencer (rebase -i): allow fast-forwarding for edit/reword
+ - sequencer (rebase -i): implement the 'reword' command
+ - sequencer (rebase -i): leave a patch upon error
+ - sequencer (rebase -i): update refs after a successful rebase
+ - sequencer (rebase -i): the todo can be empty when continuing
+ - sequencer (rebase -i): skip some revert/cherry-pick specific code path
+ - sequencer (rebase -i): remove CHERRY_PICK_HEAD when no longer needed
+ - sequencer (rebase -i): allow continuing with staged changes
+ - sequencer (rebase -i): write an author-script file
+ - sequencer (rebase -i): implement the short commands
+ - sequencer (rebase -i): add support for the 'fixup' and 'squash' commands
+ - sequencer (rebase -i): write the 'done' file
+ - sequencer (rebase -i): learn about the 'verbose' mode
+ - sequencer (rebase -i): implement the 'exec' command
+ - sequencer (rebase -i): implement the 'edit' command
+ - sequencer (rebase -i): implement the 'noop' command
+ - sequencer: support a new action: 'interactive rebase'
+
+ The sequencer has further been extended in preparation to act as a
+ back-end for "rebase -i".
+
+ Waiting for review.
+
+
+* jk/index-pack-wo-repo-from-stdin (2016-12-16) 4 commits
+ - index-pack: skip collision check when not in repository
+ - t: use nongit() function where applicable
+ - index-pack: complain when --stdin is used outside of a repo
+ - t5000: extract nongit function to test-lib-functions.sh
+
+ "git index-pack --stdin" needs an access to an existing repository,
+ but "git index-pack file.pack" to generate an .idx file that
+ corresponds to a packfile does not.
+
+ Will merge to 'next'.
+
+
+* jk/readme-gmane-is-no-more (2016-12-15) 1 commit
+  (merged to 'next' on 2016-12-16 at 44ad5c5205)
+ + README: replace gmane link with public-inbox
 
- Will merge to 'next', but I'd appreciate a second set of eyes on this.
+ Will merge to 'master'.
+
+
+* lt/shortlog-by-committer (2016-12-16) 2 commits
+ - shortlog: test and document --committer option
+ - shortlog: group by committer information
+
+ "git shortlog" learned "--committer" option to group commits by
+ committer, instead of author.
+
+ Will merge to 'next'.
 
 --------------------------------------------------
 [Stalled]
@@ -129,7 +315,6 @@ of the repositories listed at
  . copy.c: convert bb_(p)error_msg to error(_errno)
  . copy.c: delete unused code in copy_file()
  . copy.c: import copy_file() from busybox
- (this branch uses nd/worktree-list-fixup; is tangled with sb/submodule-embed-gitdir.)
 
  "git worktree" learned move and remove subcommands.
 
@@ -223,6 +408,48 @@ of the repositories listed at
 --------------------------------------------------
 [Cooking]
 
+* bw/realpath-wo-chdir (2016-12-12) 4 commits
+ - real_path: have callers use real_pathdup and strbuf_realpath
+ - real_path: create real_pathdup
+ - real_path: convert real_path_internal to strbuf_realpath
+ - real_path: resolve symlinks by hand
+ (this branch is used by bw/grep-recurse-submodules.)
+
+ The implementation of "real_path()" was to go there with chdir(2)
+ and call getcwd(3), but this obviously wouldn't be usable in a
+ threaded environment.  Rewrite it to manually resolve relative
+ paths including symbolic links in path components.
+
+ Will merge to 'next'.
+
+
+* jk/quote-env-path-list-component (2016-12-13) 4 commits
+  (merged to 'next' on 2016-12-16 at d2cd6008b9)
+ + t5547-push-quarantine: run the path separator test on Windows, too
+ + tmp-objdir: quote paths we add to alternates
+ + alternates: accept double-quoted paths
+ + Merge branch 'jk/alt-odb-cleanup' into jk/quote-env-path-list-component
+
+ A recent update to receive-pack to make it easier to drop garbage
+ objects made it clear that GIT_ALTERNATE_OBJECT_DIRECTORIES cannot
+ have a pathname with a colon in it (no surprise!), and this in turn
+ made it impossible to push into a repository at such a path.  This
+ has been fixed by introducing a quoting mechanism used when
+ appending such a path to the colon-separated list.
+
+ Will merge to 'master'.
+
+
+* js/normalize-path-copy-ceil (2016-12-16) 1 commit
+  (merged to 'next' on 2016-12-16 at 634ba4debc)
+ + normalize_path_copy(): fix pushing to //server/share/dir on Windows
+
+ A pathname that begins with "//" or "\\" on Windows is special but
+ path normalization logic was unaware of it.
+
+ Will merge to 'master'.
+
+
 * jc/lock-report-on-error (2016-12-07) 3 commits
   (merged to 'next' on 2016-12-13 at cb6c07ee92)
  + lockfile: LOCK_REPORT_ON_ERROR
@@ -252,7 +479,9 @@ of the repositories listed at
  Will merge to 'master'.
 
 
-* sb/sequencer-abort-safety (2016-12-09) 5 commits
+* sb/sequencer-abort-safety (2016-12-14) 6 commits
+  (merged to 'next' on 2016-12-16 at ec71fb1217)
+ + Revert "sequencer: remove useless get_dir() function"
   (merged to 'next' on 2016-12-13 at 6107e43d65)
  + sequencer: remove useless get_dir() function
  + sequencer: make sequencer abort safer
@@ -324,26 +553,6 @@ of the repositories listed at
  Will merge to 'master'.
 
 
-* ak/lazy-prereq-mktemp (2016-11-29) 1 commit
-  (merged to 'next' on 2016-12-12 at f346d1f053)
- + t7610: clean up foo.XXXXXX tmpdir
-
- Test code clean-up.
-
- Will merge to 'master'.
-
-
-* da/mergetool-trust-exit-code (2016-11-29) 2 commits
-  (merged to 'next' on 2016-12-12 at 28ae202868)
- + mergetools/vimdiff: trust Vim's exit code
- + mergetool: honor mergetool.$tool.trustExitCode for built-in tools
-
- mergetool.<tool>.trustExitCode configuration variable did not apply
- to built-in tools, but now it does.
-
- Will merge to 'master'.
-
-
 * jb/diff-no-index-no-abbrev (2016-12-08) 1 commit
   (merged to 'next' on 2016-12-12 at 959981ef50)
  + diff: handle --no-abbrev in no-index case
@@ -353,14 +562,6 @@ of the repositories listed at
  Will merge to 'master'.
 
 
-* vk/p4-submit-shelve (2016-11-29) 1 commit
-  (merged to 'next' on 2016-12-12 at 3fce6df117)
- + git-p4: allow submit to create shelved changelists.
- (this branch is used by ld/p4-update-shelve.)
-
- Will merge to 'master'.
-
-
 * jk/http-walker-limit-redirect-2.9 (2016-12-06) 5 commits
   (merged to 'next' on 2016-12-12 at 3e4bcd7bca)
  + http: treat http-alternates like redirects
@@ -368,7 +569,7 @@ of the repositories listed at
  + remote-curl: rename shadowed options variable
  + http: always update the base URL for redirects
  + http: simplify update_url_from_redirect
- (this branch is used by jk/http-walker-limit-redirect.)
+ (this branch is used by bw/transport-protocol-policy and jk/http-walker-limit-redirect.)
 
  Transport with dumb http can be fooled into following foreign URLs
  that the end user does not intend to, especially with the server
@@ -383,7 +584,7 @@ of the repositories listed at
   (merged to 'next' on 2016-12-12 at 8b58025e3a)
  + http-walker: complain about non-404 loose object errors
  + Merge branch 'ew/http-walker' into jk/http-walker-limit-redirect
- (this branch uses jk/http-walker-limit-redirect-2.9.)
+ (this branch is used by bw/transport-protocol-policy; uses jk/http-walker-limit-redirect-2.9.)
 
  Update the error messages from the dumb-http client when it fails
  to obtain loose objects; we used to give sensible error message
@@ -417,50 +618,27 @@ of the repositories listed at
  Will merge to 'master'.
 
 
-* bb/unicode-9.0 (2016-12-13) 6 commits
- - unicode_width.h: update the width tables to Unicode 9.0
- - update_unicode.sh: remove the plane filter
- - update-unicode.sh: automatically download newer definition files
- - update_unicode.sh: pin the uniset repo to a known good commit
- - update_unicode.sh: remove an unnecessary subshell level
- - update_unicode.sh: move it into contrib/update-unicode
+* bb/unicode-9.0 (2016-12-14) 6 commits
+  (merged to 'next' on 2016-12-16 at be2531431a)
+ + unicode_width.h: update the width tables to Unicode 9.0
+ + update_unicode.sh: remove the plane filter
+ + update_unicode.sh: automatically download newer definition files
+ + update_unicode.sh: pin the uniset repo to a known good commit
+ + update_unicode.sh: remove an unnecessary subshell level
+ + update_unicode.sh: move it into contrib/update-unicode
 
  The character width table has been updated to match Unicode 9.0
 
- Will merge to 'next'.
-
-
-* ld/p4-update-shelve (2016-12-05) 1 commit
-  (merged to 'next' on 2016-12-12 at 22f6bec94c)
- + git-p4: support updating an existing shelved changelist
- (this branch uses vk/p4-submit-shelve.)
-
  Will merge to 'master'.
 
 
 * ld/p4-worktree (2016-12-13) 1 commit
- - git-p4: support git worktrees
+  (merged to 'next' on 2016-12-16 at 5210ab9973)
+ + git-p4: support git worktrees
 
  "git p4" didn't interact with the internal of .git directory
  correctly in the modern "git-worktree"-enabled world.
 
- Will merge to 'next'.
- Rerolled.  Looking good.
-
-
-* ls/p4-empty-file-on-lfs (2016-12-05) 1 commit
-  (merged to 'next' on 2016-12-12 at 1fce8e037a)
- + git-p4: fix empty file processing for large file system backend GitLFS
-
- "git p4" LFS support was broken when LFS stores an empty blob.
-
- Will merge to 'master'.
-
-
-* ls/p4-retry-thrice (2016-12-05) 1 commit
-  (merged to 'next' on 2016-12-12 at 9462e660a8)
- + git-p4: add config to retry p4 commands; retry 3 times by default
-
  Will merge to 'master'.
 
 
@@ -580,62 +758,15 @@ of the repositories listed at
  What's the doneness of this topic?
 
 
-* nd/qsort-in-merge-recursive (2016-11-28) 1 commit
-  (merged to 'next' on 2016-12-12 at e9700f5b93)
- + merge-recursive.c: use string_list_sort instead of qsort
-
- Code simplification.
-
- Will merge to 'master'.
-
-
-* bw/push-dry-run (2016-11-23) 2 commits
-  (merged to 'next' on 2016-12-12 at bde7a0f9ae)
- + push: fix --dry-run to not push submodules
- + push: --dry-run updates submodules when --recurse-submodules=on-demand
- (this branch uses hv/submodule-not-yet-pushed-fix; is tangled with sb/push-make-submodule-check-the-default.)
-
- "git push --dry-run --recurse-submodule=on-demand" wasn't
- "--dry-run" in the submodules.
-
- Will merge to 'master'.
-
-
 * sb/push-make-submodule-check-the-default (2016-11-29) 2 commits
   (merged to 'next' on 2016-12-12 at 1863e05af5)
  + push: change submodule default to check when submodules exist
  + submodule add: extend force flag to add existing repos
- (this branch uses hv/submodule-not-yet-pushed-fix; is tangled with bw/push-dry-run.)
 
  Turn the default of "push.recurseSubmodules" to "check" when
  submodules seem to be in use.
 
- Will merge to 'master'.
-
-
-* jk/rev-parse-symbolic-parents-fix (2016-11-16) 1 commit
-  (merged to 'next' on 2016-12-12 at 6839c1ea28)
- + rev-parse: fix parent shorthands with --symbolic
-
- "git rev-parse --symbolic" failed with a more recent notation like
- "HEAD^-1" and "HEAD^!".
-
- Will merge to 'master'.
-
-
-* nd/worktree-list-fixup (2016-11-28) 5 commits
-  (merged to 'next' on 2016-12-12 at 1f46421a59)
- + worktree list: keep the list sorted
- + worktree.c: get_worktrees() takes a new flag argument
- + get_worktrees() must return main worktree as first item even on error
- + worktree: reorder an if statement
- + worktree.c: zero new 'struct worktree' on allocation
- (this branch is used by nd/worktree-move and sb/submodule-embed-gitdir.)
-
- The output from "git worktree list" was made in readdir() order,
- and was unstable.
-
- Will merge to 'master'.
+ Will cook in 'next'.
 
 
 * jk/trailers-placeholder-in-pretty (2016-12-11) 2 commits
@@ -657,38 +788,28 @@ of the repositories listed at
  - test-lib-functions.sh: teach test_commit -C <dir>
  - submodule helper: support super prefix
  - submodule: use absolute path for computing relative path connecting
- (this branch uses nd/worktree-list-fixup; is tangled with nd/worktree-move.)
 
  A new submodule helper "git submodule embedgitdirs" to make it
  easier to move embedded .git/ directory for submodules in a
  superproject to .git/modules/ (and point the latter with the former
  that is turned into a "gitdir:" file) has been added.
 
- Is this now pretty much done and ready for 'next'?
-
-
-* dt/empty-submodule-in-merge (2016-11-17) 1 commit
-  (merged to 'next' on 2016-12-12 at 6de2350b2b)
- + submodules: allow empty working-tree dirs in merge/cherry-pick
-
- An empty directory in a working tree that can simply be nuked used
- to interfere while merging or cherry-picking a change to create a
- submodule directory there, which has been fixed..
-
- Will merge to 'master'.
+ Will merge to 'next'.
 
 
-* bw/grep-recurse-submodules (2016-11-22) 6 commits
- . grep: search history of moved submodules
- . grep: enable recurse-submodules to work on <tree> objects
- . grep: optionally recurse into submodules
- . grep: add submodules as a grep source type
- . submodules: load gitmodules file from commit sha1
- . submodules: add helper functions to determine presence of submodules
+* bw/grep-recurse-submodules (2016-12-16) 7 commits
+ - grep: search history of moved submodules
+ - grep: enable recurse-submodules to work on <tree> objects
+ - grep: optionally recurse into submodules
+ - grep: add submodules as a grep source type
+ - submodules: load gitmodules file from commit sha1
+ - submodules: add helper to determine if a submodule is initialized
+ - submodules: add helper to determine if a submodule is populated
+ (this branch uses bw/realpath-wo-chdir.)
 
  "git grep" learns to optionally recurse into submodules
 
- Will be redone on top of the bw/realpath-wo-chdir.
+ Will merge to 'next'.
 
 
 * dt/smart-http-detect-server-going-away (2016-11-18) 2 commits
@@ -745,25 +866,6 @@ of the repositories listed at
  Will cook in 'next'.
 
 
-* hv/submodule-not-yet-pushed-fix (2016-11-16) 4 commits
-  (merged to 'next' on 2016-12-05 at c9d729fca2)
- + submodule_needs_pushing(): explain the behaviour when we cannot answer
- + batch check whether submodule needs pushing into one call
- + serialize collection of refs that contain submodule changes
- + serialize collection of changed submodules
- (this branch is used by bw/push-dry-run and sb/push-make-submodule-check-the-default.)
-
- Originally merged to 'next' on 2016-11-21
-
- The code in "git push" to compute if any commit being pushed in the
- superproject binds a commit in a submodule that hasn't been pushed
- out was overly inefficient, making it unusable even for a small
- project that does not have any submodule but have a reasonable
- number of refs.
-
- Will cook in 'next'.
-
-
 * kn/ref-filter-branch-list (2016-12-08) 20 commits
  - branch: implement '--format' option
  - branch: use ref-filter printing APIs
@@ -793,19 +895,20 @@ of the repositories listed at
  and also saw a "squash this in when you reroll", but I lost track.
 
 
-* bw/transport-protocol-policy (2016-12-05) 5 commits
+* bw/transport-protocol-policy (2016-12-15) 6 commits
+ - http: respect protocol.*.allow=user for http-alternates
  - transport: add from_user parameter to is_transport_allowed
  - http: create function to get curl allowed protocols
- - http: always warn if libcurl version is too old
  - transport: add protocol policy config option
+ - http: always warn if libcurl version is too old
  - lib-proto-disable: variable name fix
+ (this branch uses jk/http-walker-limit-redirect and jk/http-walker-limit-redirect-2.9.)
 
  Finer-grained control of what protocols are allowed for transports
  during clone/fetch/push have been enabled via a new configuration
  mechanism.
 
- What's the doneness of this topic?  Did we agree that it should be
- rebased on top of Peff's http-walker-limit-redirect series?
+ Will merge to 'next'.
 
 
 * jt/fetch-no-redundant-tag-fetch-map (2016-11-11) 1 commit
@@ -997,13 +1100,13 @@ of the repositories listed at
 
 
 * sb/attr (2016-11-11) 35 commits
- completion: clone can initialize specific submodules
- clone: add --init-submodule=<pathspec> switch
- submodule update: add `--init-default-path` switch
- pathspec: allow escaped query values
- pathspec: allow querying for attributes
- pathspec: move prefix check out of the inner loop
- pathspec: move long magic parsing out of prefix_pathspec
. completion: clone can initialize specific submodules
. clone: add --init-submodule=<pathspec> switch
. submodule update: add `--init-default-path` switch
. pathspec: allow escaped query values
. pathspec: allow querying for attributes
. pathspec: move prefix check out of the inner loop
. pathspec: move long magic parsing out of prefix_pathspec
  - Documentation: fix a typo
  - attr: keep attr stack for each check
  - attr: convert to new threadsafe API
@@ -1038,10 +1141,11 @@ of the repositories listed at
  Building on top of the updated API, the pathspec machinery learned
  to select only paths with given attributes set.
 
- Waiting for review.
+ The parts near the tip about pathspec would need to work better
+ with bw/pathspec-cleanup topic and has been dropped for now.
 
 
-* va/i18n-perl-scripts (2016-11-11) 16 commits
+* va/i18n-perl-scripts (2016-12-14) 16 commits
  - i18n: difftool: mark warnings for translation
  - i18n: send-email: mark composing message for translation
  - i18n: send-email: mark string with interpolation for translation
@@ -1061,7 +1165,7 @@ of the repositories listed at
 
  Porcelain scripts written in Perl are getting internationalized.
 
- Waiting for review.
+ Will merge to 'next'.
 
 
 * jc/latin-1 (2016-09-26) 2 commits
@@ -1098,13 +1202,14 @@ of the repositories listed at
 
 
 * jc/pull-rebase-ff (2016-11-29) 1 commit
- - pull: fast-forward "pull --rebase=true"
+  (merged to 'next' on 2016-12-16 at c1a0cedd9e)
+ + pull: fast-forward "pull --rebase=true"
 
  "git pull --rebase", when there is no new commits on our side since
  we forked from the upstream, should be able to fast-forward without
  invoking "git rebase", but it didn't.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jc/merge-drop-old-syntax (2015-04-29) 1 commit