From: Junio C Hamano Date: Wed, 23 Sep 2015 22:53:40 +0000 (-0700) Subject: What's cooking (2015/09 #06) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=49a1e5ee48904bfe562388041bdcdb3d8ad21d10;p=thirdparty%2Fgit.git What's cooking (2015/09 #06) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index f8e2a34832..488990b3c9 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,150 +1,83 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Sep 2015, #05; Mon, 21) +Subject: What's cooking in git.git (Sep 2015, #06; Wed, 23) X-master-at: 8d530c4d64ffcc853889f7b385f554d53db375ed -X-next-at: 95c432565effc19a24a53a40dfcd069a5b323853 +X-next-at: c07a1e8782dadcedeffd389aa9bce4fda5b0983c -What's cooking in git.git (Sep 2015, #05; Mon, 21) +What's cooking in git.git (Sep 2015, #06; Wed, 23) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. -The tip of master gained l10n updates and a regression fix to "git -send-email" and is now at v2.6.0-rc3. I am hoping that the remainder -of the cycle will be uneventful and we can have some quality time -reviewing large-ish topics that were floated but not reviewed quite -well yet. I'll probably start spending some time pinging people -about various topics that seem to have stalled. +Not much has happened on the 'master' or 'next' fronts, but we have +seen quite a lot of activities above that to prepare for the next +cycle, which may or may not be a good sign. I am sending this out +early in the middle of the week, as I'll likely to be offline all +day tomorrow. You can find the changes described here in the integration branches of the repositories listed at http://git-blame.blogspot.com/p/git-public-repositories.html --------------------------------------------------- -[Graduated to "master"] - -* bn/send-email-smtp-auth-error-message-fix (2015-09-21) 1 commit - (merged to 'next' on 2015-09-21 at 59f2e59) - + send-email: fix uninitialized var warning for $smtp_auth - - Fix a minor regression brought in to "git send-email" by a recent - addition of the "--smtp-auth" option. - - -* rj/mailmap-ramsay (2015-09-16) 1 commit - (merged to 'next' on 2015-09-21 at cbd6470) - + mailmap: update my entry with new email address - - Update and consolidate "git shortlog" output entries for Ramsay. - -------------------------------------------------- [New Topics] -* mm/keyid-docs (2015-09-21) 3 commits - - Documentation: explain optional arguments better - - Documentation/grep: fix documentation of -O - - Documentation: use 'keyid' consistently, not 'key-id' +* ls/p4-translation-failure (2015-09-22) 2 commits + - git-p4: handle "Translation of file content failed" + - git-p4: add test case for "Translation of file content failed" error - Very small number of options take a parameter that is optional - (which is not a great UI element as they can only appear at the end - of the command line). Add notice to documentation of each and - every one of them. + Work around "git p4" failing when the P4 depot records the contents + in UTF-16 without UTF-16 BOM. Will merge to 'next'. -* nd/gc-auto-background-fix (2015-09-21) 1 commit - - gc: save log from daemonized gc --auto and print it next time - - When "git gc --auto" is backgrounded, its diagnosis message is - lost. Save it to a file in $GIT_DIR and show it next time the "gc - --auto" is run. - --------------------------------------------------- -[Stalled] - -* sb/remove-get-pathspec (2015-08-03) 1 commit - - builtin/mv: remove get_pathspec() - - Will discard. - ($gmane/276104) - - -* nd/list-files (2015-02-09) 21 commits - - t3080: tests for git-list-files - - list-files: -M aka diff-cached - - list-files -F: show submodules with the new indicator '&' - - list-files: add -F/--classify - - list-files: show directories as well as files - - list-files: do not show duplicate cached entries - - list-files: sort output and remove duplicates - - list-files: add -t back - - list-files: add -1 short for --no-column - - list-files: add -R/--recursive short for --max-depth=-1 - - list-files: -u does not imply showing stages - - list-files: make alias 'ls' default to 'list-files' - - list-files: a user friendly version of ls-files and more - - ls-files: support --max-depth - - ls-files: add --column - - ls-files: add --color to highlight file names - - ls-files: buffer full item in strbuf before printing - - ls_colors.c: highlight submodules like directories - - ls_colors.c: add a function to color a file name - - ls_colors.c: parse color.ls.* from config file - - ls_colors.c: add $LS_COLORS parsing code - - A new "git list-files" Porcelain command, "ls-files" with bells and - whistles. +* mr/worktree-list (2015-09-23) 6 commits + - SQUASH??? + - worktree: add 'list' command + - worktree: add functions to get worktree details + - worktree: refactor find_linked_symref function + - SQUASH??? + - worktree: add top-level worktree.c - Reroll to base on wt-status work ($gmane/265142) has seen some - positive discussions. + Add the "list" subcommand to "git worktree". - Waiting for a further polished reroll ($gmane/265534). +* jk/notes-dwim-doc (2015-09-22) 1 commit + - notes: correct documentation of DWIMery for notes references -* mh/numparse (2015-03-19) 14 commits - . diff_opt_parse(): use convert_i() when handling --abbrev= - . diff_opt_parse(): use convert_i() when handling "-l" - . opt_arg(): simplify pointer handling - . opt_arg(): report errors parsing option values - . opt_arg(): use convert_i() in implementation - . opt_arg(): val is always non-NULL - . builtin_diff(): detect errors when parsing --unified argument - . handle_revision_opt(): use convert_ui() when handling "--abbrev=" - . strtoul_ui(), strtol_i(): remove functions - . handle_revision_opt(): use convert_i() when handling "-" - . handle_revision_opt(): use skip_prefix() in many places - . write_subdirectory(): use convert_ui() for parsing mode - . cacheinfo_callback(): use convert_ui() when handling "--cacheinfo" - . numparse: new module for parsing integral numbers + The way how --ref/--notes to specify the notes tree reference are + DWIMmed was not clearly documented. - Many codepaths use unchecked use of strtol() and friends (or even - worse, atoi()). Introduce a set of wrappers that try to be more - careful. - Waiting for a reroll. - ($gmane/268058). +* kn/for-each-branch (2015-09-23) 8 commits + - branch: add '--points-at' option + - branch.c: use 'ref-filter' APIs + - branch.c: use 'ref-filter' data structures + - branch: drop non-commit error reporting + - branch: move 'current' check down to the presentation layer + - branch: roll show_detached HEAD into regular ref_list + - branch: bump get_head_description() to the top + - branch: refactor width computation + (this branch uses kn/for-each-tag and kn/for-each-tag-branch.) + Update "git branch" that list existing branches, using the + ref-filter API that is shared with "git tag" and "git + for-each-ref". -* kk/log-merges-config (2015-04-21) 5 commits - - bash-completion: add support for git-log --merges= and log.merges - - t4202-log: add tests for --merges= - - Documentation: add git-log --merges= option and log.merges config. var - - log: honor log.merges= option - - revision: add --merges={show|only|hide} option - "git log" (but not other commands in the "log" family) learned to - pay attention to the log.merges configuration variable that can be - set to "show" (the normal behaviour), "only" (hide non-merge - commits), or "hide" (hide merge commits). --merges=(show|only|hide) - can be used to override the setting from the command line. +* jc/fsck-dropped-errors (2015-09-23) 1 commit + - fsck: exit with non-zero when problems are found - The documentation may need to be updated once more ($gmane/267250). - Waiting for a reroll. + There were some classes of errors that "git fsck" diagnosed to its + standard error that did not cause it to exit with non-zero status. + +-------------------------------------------------- +[Stalled] * mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits - t/lib-git-svn: check same httpd module dirs as lib-httpd @@ -156,30 +89,6 @@ of the repositories listed at with updated log message ($gmane/268061). -* bw/portability-solaris (2015-07-20) 3 commits - - tests: fix sed usage in tests to work around broken xpg4/sed on Solaris - - tests: fix sed usage in tests to work around broken xpg4/sed on Solaris - - tests: modify tr expressions so that xpg4/tr handles it on Solaris - - Needs another reroll? - ($gmane/274296) - - -* jc/clone-bundle (2015-04-30) 1 commit - - repack: optionally create a clone.bundle - - Waiting for further work. - Still an early WIP. - - -* mg/index-read-error-messages (2015-06-01) 2 commits - - messages: uniform error messages for index write - - show-index: uniform error messages for index read - - The tip was RFC. - Waiting for a reroll. - - * wp/sha1-name-negative-match (2015-06-08) 2 commits - sha1_name.c: introduce '^{/!-}' notation - test for '!' handling in rev-parse's named commits @@ -187,19 +96,8 @@ of the repositories listed at Introduce "branch^{/!-}" notation to name a commit reachable from branch that does not match the given pattern. - Waiting for a reroll. - - -* mk/utf8-no-iconv-warn (2015-06-08) 1 commit - - utf8.c: print warning about disabled iconv - - Warn when a reencoding is requested in a build without iconv - support, as the end user is likely to get an unexpected result. I - think the same level of safety should be added to a build with - iconv support when the specified encoding is not available, but the - patch does not go there. - - Waiting for a reroll. + Getting tired of waiting for a reroll. + ($gmane/271213). * ak/format-patch-odir-config (2015-06-19) 1 commit @@ -240,54 +138,30 @@ of the repositories listed at The fix in this patch is broken, unfortunately. +-------------------------------------------------- +[Cooking] -* pw/remote-set-url-fetch (2014-11-26) 1 commit - . remote: add --fetch and --both options to set-url - - Ejected. - - -* tr/remerge-diff (2014-11-10) 9 commits - . t4213: avoid "|" in sed regexp - . log --remerge-diff: show what the conflict resolution changed - . name-hash: allow dir hashing even when !ignore_case - . merge-recursive: allow storing conflict hunks in index - . merge_diff_mode: fold all merge diff variants into an enum - . combine-diff: do not pass revs->dense_combined_merges redundantly - . merge-recursive: -Xindex-only to leave worktree unchanged - . merge-recursive: internal flag to avoid touching the worktree - . merge-recursive: remove dead conditional in update_stages() - - "log -p" output learns a new way to let users inspect a merge - commit by showing the differences between the automerged result - with conflicts the person who recorded the merge would have seen - and the final conflict resolution that was recorded in the merge. - - Waiting for a reroll. - ($gmane/256591). - - -* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits - - perf-lib: add test_perf_cleanup target - - perf-lib: split starting the test from the execution +* mm/keyid-docs (2015-09-21) 3 commits + (merged to 'next' on 2015-09-21 at f50ccab) + + Documentation: explain optional arguments better + + Documentation/grep: fix documentation of -O + + Documentation: use 'keyid' consistently, not 'key-id' - Add test_perf_cleanup shell function to the perf suite, that allows - the script writers to define a test with a clean-up action. + Very small number of options take a parameter that is optional + (which is not a great UI element as they can only appear at the end + of the command line). Add notice to documentation of each and + every one of them. - Will hold. + Will merge to 'master'. -* jc/show-branch (2014-03-24) 5 commits - - show-branch: use commit slab to represent bitflags of arbitrary width - - show-branch.c: remove "all_mask" - - show-branch.c: abstract out "flags" operation - - show-branch.c: lift all_mask/all_revs to a global static - - show-branch.c: update comment style +* nd/gc-auto-background-fix (2015-09-21) 1 commit + - gc: save log from daemonized gc --auto and print it next time - Waiting for the final step to lift the hard-limit. + When "git gc --auto" is backgrounded, its diagnosis message is + lost. Save it to a file in $GIT_DIR and show it next time the "gc + --auto" is run. --------------------------------------------------- -[Cooking] * jk/blame-first-parent (2015-09-16) 1 commit (merged to 'next' on 2015-09-21 at 7580f6b) @@ -299,8 +173,7 @@ of the repositories listed at Will merge to 'master'. -* jk/transfer-limit-protocol (2015-09-16) 3 commits - - SQUASH??? +* jk/transfer-limit-protocol (2015-09-23) 2 commits - submodule: allow only certain protocols for submodule fetches - transport: add a protocol-whitelist environment variable @@ -366,21 +239,36 @@ of the repositories listed at * nd/ignore-then-not-ignore (2015-09-21) 2 commits - - dir.c: don't exclude whole dir prematurely if neg pattern may match - - dir.c: make last_exclude_matching_from_list() run til the end + (merged to 'next' on 2015-09-21 at 2182591) + + dir.c: don't exclude whole dir prematurely if neg pattern may match + + dir.c: make last_exclude_matching_from_list() run til the end Allow a later "!/abc/def" to override an earlier "/abc" that appears in the same .gitignore file to make it easier to express "everything in /abc directory is ignored, except for ...". - Will merge to 'next'. + Will merge to 'master'. -* sb/submodule-parallel-fetch (2015-09-14) 2 commits - - fetch: fetch submodules in parallel +* sb/submodule-parallel-fetch (2015-09-23) 9 commits + - submodules: allow parallel fetching, add tests and documentation + - fetch_populated_submodules: use new parallel job processing + - SQUASH??? + - run-command: add an asynchronous parallel child processor + - run-command: factor out return value computation + - strbuf: add strbuf_read_once to read without blocking + - xread_nonblock: add functionality to read from fds without blocking + - xread: poll on non blocking fds - submodule.c: write "Fetching submodule " to stderr (this branch uses sb/submodule-helper.) + Add a framework to spawn a group of processes in parallel, and use + it to run "git fetch --recurse-submodules" in parallel. + + It seems that the fundamentals are almost there, modulo polishing + the overall structure to ensure that future enhancement can be made + cleanly. + * mk/submodule-gitdir-path (2015-09-14) 2 commits - path: implement common_dir handling in git_pathdup_submodule() @@ -432,13 +320,13 @@ of the repositories listed at * gb/filter-branch-progress (2015-09-21) 2 commits - - SQUASH??? - - filter-branch: add passed/remaining seconds on progress + (merged to 'next' on 2015-09-21 at 15e698d) + + filter-branch: make report-progress more readable + + filter-branch: add passed/remaining seconds on progress Give progress meter to "git filter-branch". - Undecided. - ($gmane/278328). + Will merge to 'master'. * jk/interpret-trailers-outside-a-repository (2015-09-08) 1 commit @@ -466,7 +354,7 @@ of the repositories listed at Will merge to 'master'. -* ls/p4-lfs (2015-09-21) 7 commits +* ls/p4-lfs (2015-09-23) 7 commits - git-p4: add Git LFS backend for large file system - git-p4: add support for large file systems - git-p4: check free space during streaming @@ -478,7 +366,8 @@ of the repositories listed at Teach "git p4" to send large blobs outside the repository by talking to Git LFS. - Is this ready for 'next' now? + Expecting a reroll. + ($gmane/278476). * nd/clone-linked-checkout (2015-09-14) 5 commits @@ -625,7 +514,7 @@ of the repositories listed at + strtoul_ui: reject negative values + Merge 'jk/git-path' into kn/for-each-tag + Merge 'kn/for-each-tag-branch' into kn/for-each-tag - (this branch uses kn/for-each-tag-branch.) + (this branch is used by kn/for-each-branch; uses kn/for-each-tag-branch.) The "ref-filter" code was taught about many parts of what "tag -l" does and then "tag -l" is reimplemented in terms of "ref-filter". @@ -661,12 +550,13 @@ of the repositories listed at * bb/remote-get-url (2015-09-17) 1 commit - - remote: add get-url subcommand + (merged to 'next' on 2015-09-21 at c07a1e8) + + remote: add get-url subcommand "git remote" learned "get-url" subcommand to show the URL for a given remote name used for fetching and pushing. - Will merge to 'next'. + Will merge to 'master'. * sb/submodule-helper (2015-09-08) 4 commits @@ -705,7 +595,7 @@ of the repositories listed at + ref-filter: implement '--points-at' option + tag: libify parse_opt_points_at() + t6302: for-each-ref tests for ref-filter APIs - (this branch is used by kn/for-each-tag.) + (this branch is used by kn/for-each-branch and kn/for-each-tag.) Originally merged to 'next' on 2015-07-15 @@ -772,3 +662,160 @@ of the repositories listed at has been deprecated since October 2007. Will keep in 'next' during the 2.6 cycle. + +-------------------------------------------------- +[Discarded] + +* sb/remove-get-pathspec (2015-08-03) 1 commit + . builtin/mv: remove get_pathspec() + + ($gmane/276104) + + +* nd/list-files (2015-02-09) 21 commits + . t3080: tests for git-list-files + . list-files: -M aka diff-cached + . list-files -F: show submodules with the new indicator '&' + . list-files: add -F/--classify + . list-files: show directories as well as files + . list-files: do not show duplicate cached entries + . list-files: sort output and remove duplicates + . list-files: add -t back + . list-files: add -1 short for --no-column + . list-files: add -R/--recursive short for --max-depth=-1 + . list-files: -u does not imply showing stages + . list-files: make alias 'ls' default to 'list-files' + . list-files: a user friendly version of ls-files and more + . ls-files: support --max-depth + . ls-files: add --column + . ls-files: add --color to highlight file names + . ls-files: buffer full item in strbuf before printing + . ls_colors.c: highlight submodules like directories + . ls_colors.c: add a function to color a file name + . ls_colors.c: parse color.ls.* from config file + . ls_colors.c: add $LS_COLORS parsing code + + A new "git list-files" Porcelain command, "ls-files" with bells and + whistles. + + Reroll to base on wt-status work ($gmane/265142) has seen some + positive discussions. + + ($gmane/265534). + + +* mh/numparse (2015-03-19) 14 commits + . diff_opt_parse(): use convert_i() when handling --abbrev= + . diff_opt_parse(): use convert_i() when handling "-l" + . opt_arg(): simplify pointer handling + . opt_arg(): report errors parsing option values + . opt_arg(): use convert_i() in implementation + . opt_arg(): val is always non-NULL + . builtin_diff(): detect errors when parsing --unified argument + . handle_revision_opt(): use convert_ui() when handling "--abbrev=" + . strtoul_ui(), strtol_i(): remove functions + . handle_revision_opt(): use convert_i() when handling "-" + . handle_revision_opt(): use skip_prefix() in many places + . write_subdirectory(): use convert_ui() for parsing mode + . cacheinfo_callback(): use convert_ui() when handling "--cacheinfo" + . numparse: new module for parsing integral numbers + + Many codepaths use unchecked use of strtol() and friends (or even + worse, atoi()). Introduce a set of wrappers that try to be more + careful. + + ($gmane/268058). + + +* kk/log-merges-config (2015-04-21) 5 commits + . bash-completion: add support for git-log --merges= and log.merges + . t4202-log: add tests for --merges= + . Documentation: add git-log --merges= option and log.merges config. var + . log: honor log.merges= option + . revision: add --merges={show|only|hide} option + + "git log" (but not other commands in the "log" family) learned to + pay attention to the log.merges configuration variable that can be + set to "show" (the normal behaviour), "only" (hide non-merge + commits), or "hide" (hide merge commits). --merges=(show|only|hide) + can be used to override the setting from the command line. + + The documentation may need to be updated once more ($gmane/267250). + + +* bw/portability-solaris (2015-07-20) 3 commits + . tests: fix sed usage in tests to work around broken xpg4/sed on Solaris + . tests: fix sed usage in tests to work around broken xpg4/sed on Solaris + . tests: modify tr expressions so that xpg4/tr handles it on Solaris + + ($gmane/274296) + + +* jc/clone-bundle (2015-04-30) 1 commit + . repack: optionally create a clone.bundle + + Still an early WIP. + + +* mg/index-read-error-messages (2015-06-01) 2 commits + . messages: uniform error messages for index write + . show-index: uniform error messages for index read + + The tip was RFC. + Waiting for a reroll. + + +* mk/utf8-no-iconv-warn (2015-06-08) 1 commit + . utf8.c: print warning about disabled iconv + + Warn when a reencoding is requested in a build without iconv + support, as the end user is likely to get an unexpected result. I + think the same level of safety should be added to a build with + iconv support when the specified encoding is not available, but the + patch does not go there. + + ($gmane/277424). + + +* pw/remote-set-url-fetch (2014-11-26) 1 commit + . remote: add --fetch and --both options to set-url + + Ejected. + + +* tr/remerge-diff (2014-11-10) 9 commits + . t4213: avoid "|" in sed regexp + . log --remerge-diff: show what the conflict resolution changed + . name-hash: allow dir hashing even when !ignore_case + . merge-recursive: allow storing conflict hunks in index + . merge_diff_mode: fold all merge diff variants into an enum + . combine-diff: do not pass revs->dense_combined_merges redundantly + . merge-recursive: -Xindex-only to leave worktree unchanged + . merge-recursive: internal flag to avoid touching the worktree + . merge-recursive: remove dead conditional in update_stages() + + "log -p" output learns a new way to let users inspect a merge + commit by showing the differences between the automerged result + with conflicts the person who recorded the merge would have seen + and the final conflict resolution that was recorded in the merge. + + Waiting for a reroll. + ($gmane/256591). + + +* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits + . perf-lib: add test_perf_cleanup target + . perf-lib: split starting the test from the execution + + Add test_perf_cleanup shell function to the perf suite, that allows + the script writers to define a test with a clean-up action. + + +* jc/show-branch (2014-03-24) 5 commits + . show-branch: use commit slab to represent bitflags of arbitrary width + . show-branch.c: remove "all_mask" + . show-branch.c: abstract out "flags" operation + . show-branch.c: lift all_mask/all_revs to a global static + . show-branch.c: update comment style + + Waiting for the final step to lift the hard-limit.