From: Junio C Hamano Date: Fri, 16 Dec 2016 23:41:25 +0000 (-0800) Subject: What's cooking (2016/12 #04) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=27fe017671d41e9eb5520f10190bb6a426f70062;p=thirdparty%2Fgit.git What's cooking (2016/12 #04) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 4a83e7a439..f818f057e8 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -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..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..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 - 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 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 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= 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= 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