From 30738d0237cf70b0c6d6f03394e5dd350c19cbeb Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 14 Jun 2016 15:05:32 -0700 Subject: [PATCH] What's cooking (2016/06 #04) --- whats-cooking.txt | 297 +++++++++++++++++++++++++++++++--------------- 1 file changed, 203 insertions(+), 94 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 2fae6338e3..56577c2d4e 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 (Jun 2016, #03; Thu, 9) -X-master-at: 49fa3dc76179e04b0833542fa52d0f287a4955ac -X-next-at: 3cd93d08f085fd56ac81614bd2e920c3b50eacec +Subject: What's cooking in git.git (Jun 2016, #04; Tue, 14) +X-master-at: 05219a1276341e72d8082d76b7f5ed394b7437a4 +X-next-at: 3dc84b0c19932ec9947ca4936b6bfd6421ccb1b4 -What's cooking in git.git (Jun 2016, #03; Thu, 9) +What's cooking in git.git (Jun 2016, #04; Tue, 14) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,45 +12,151 @@ 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. -The tip of 'pu' is not expected to pass its own test suite, due to -multiple broken topics queued near its tip. Earlier there was a talk -about automatically bisecting breakage on 'pu', but tonight's -pushout is a good illustration why that would not be very useful. -What would be useful is (1) enumeration of commits on the first -parent chain on master..pu, (2) test of the second parent of each of -the commits found in (1), and (3) bisection between the broken -commits in (2) and 'master', which would highlight broken topics and -the commit(s) that might be responsible for each broken topic. +Git 2.9 has been tagged. Let's wait for a few days to clean up +possible fallout and then start a new cycle by rewinding the tip of +'next'. I expect I'd eject a few premature topics out of 'next' +while doing so. 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"] + +* jc/t2300-setup (2016-06-01) 1 commit + (merged to 'next' on 2016-06-06 at 20f7f83) + + t2300: run git-sh-setup in an environment that better mimics the real life + (this branch is used by va/i18n-even-more.) + + A test fix. + + +* jk/diff-compact-heuristic (2016-06-10) 1 commit + - diff: disable compaction heuristic for now + + It turns out that the earlier effort to update the heuristics may + want to use a bit more time to mature. Turn it off by default. + + +* jk/shell-portability (2016-06-01) 2 commits + (merged to 'next' on 2016-06-06 at 5de784e) + + t5500 & t7403: lose bash-ism "local" + + test-lib: add in-shell "env" replacement + + test fixes. + -------------------------------------------------- [New Topics] -* jk/avoid-unbounded-alloca (2016-06-07) 1 commit - - tree-diff: avoid alloca for large allocations +* lv/status-say-working-tree-not-directory (2016-06-09) 1 commit + - Use "working tree" instead of "working directory" for git status + + "git status" used to say "working directory" when it meant "working + tree". Will merge to 'next'. -* jk/send-pack-stdio (2016-06-08) 1 commit - - send-pack: use buffered I/O to talk to pack-objects +* jk/parseopt-string-list (2016-06-13) 3 commits + - blame,shortlog: don't make local option variables static + - interpret-trailers: don't duplicate option strings + - parse_opt_string_list: stop allocating new strings + (this branch is used by jk/string-list-static-init.) - Code clean-up. + The command line argument parsing that uses OPT_STRING_LIST() often + made a copy of the argv[] element, which was unnecessary. Will merge to 'next'. -* pb/commit-editmsg-path (2016-06-09) 1 commit - - builtin/commit.c: memoize git-path for COMMIT_EDITMSG +* jk/repack-keep-unreachable (2016-06-14) 3 commits + - repack: extend --keep-unreachable to loose objects + - repack: add --keep-unreachable option + - repack: document --unpack-unreachable option + + "git repack" learned the "--keep-unreachable" option, which sends + loose unreachable objects to a pack instead of leaving them loose. + This helps heuristics based on the number of loose objects + (e.g. "gc --auto"). + + Will merge to 'next'. + + +* lf/recv-sideband-cleanup (2016-06-13) 1 commit + - sideband.c: refactor recv_sideband() + + Code simplification. It however loses the atomicity of the output + 9ac13ec9 (atomic write for sideband remote messages, 2006-10-11) + tried to add to an once-much-simpler codebase. + + Expecting a reroll. + + +* nd/test-lib-httpd-show-error-log-in-verbose (2016-06-13) 1 commit + - lib-httpd.sh: print error.log on error + + Debugging aid. + + Will merge to 'next'. + + +* pc/occurred (2016-06-10) 2 commits + - config.c: fix misspelt "occurred" in an error message + - refs.h: fix misspelt "occurred" in a comment + + Will merge to 'next'. + + +* sb/submodule-clone-retry (2016-06-13) 2 commits + - submodule update: continue when a clone fails + - submodule--helper: initial clone learns retry logic + (this branch uses sb/submodule-recommend-shallowness.) + + "git submodule update" that drives many "git clone" could + eventually hit flaky servers/network conditions on one of the + submodules; the command learned to retry the attempt. + + +* jc/blame-reverse (2016-06-14) 2 commits + - blame: dwim "blame --reverse OLD" as "blame --reverse OLD.." + - blame: improve diagnosis for "--reverse NEW" + + +* jc/deref-tag (2016-06-14) 1 commit + - blame, line-log: do not loop around deref_tag() Code clean-up. Will merge to 'next'. + +* jk/fetch-prune-doc (2016-06-14) 1 commit + - fetch: document that pruning happens before fetching + + Will merge to 'next'. + + +* km/fetch-do-not-free-remote-name (2016-06-14) 1 commit + - builtin/fetch.c: don't free remote->name after fetch + + Will merge to 'next'. + + +* nb/gnome-keyring-build (2016-06-14) 1 commit + - gnome-keyring: Don't hard-code pkg-config executable + + Build improvements for gnome-keyring (in contrib/) + + Will merge to 'next'. + + +* pb/strbuf-read-file-doc (2016-06-14) 1 commit + - strbuf: describe the return value of strbuf_read_file + + Will merge to 'next'. + -------------------------------------------------- [Stalled] @@ -85,45 +191,6 @@ of the repositories listed at ($gmane/291163) -* nd/shallow-deepen (2016-04-13) 26 commits - - fetch, upload-pack: --deepen=N extends shallow boundary by N commits - - upload-pack: add get_reachable_list() - - upload-pack: split check_unreachable() in two, prep for get_reachable_list() - - t5500, t5539: tests for shallow depth excluding a ref - - clone: define shallow clone boundary with --shallow-exclude - - fetch: define shallow boundary with --shallow-exclude - - upload-pack: support define shallow boundary by excluding revisions - - refs: add expand_ref() - - t5500, t5539: tests for shallow depth since a specific date - - clone: define shallow clone boundary based on time with --shallow-since - - fetch: define shallow boundary with --shallow-since - - upload-pack: add deepen-since to cut shallow repos based on time - - shallow.c: implement a generic shallow boundary finder based on rev-list - - fetch-pack: use a separate flag for fetch in deepening mode - - fetch-pack.c: mark strings for translating - - fetch-pack: use a common function for verbose printing - - fetch-pack: use skip_prefix() instead of starts_with() - - upload-pack: move rev-list code out of check_non_tip() - - upload-pack: tighten number parsing at "deepen" lines - - upload-pack: use skip_prefix() instead of starts_with() - - upload-pack: move "unshallow" sending code out of deepen() - - upload-pack: remove unused variable "backup" - - upload-pack: move "shallow" sending code out of deepen() - - upload-pack: move shallow deepen code out of receive_needs() - - transport-helper.c: refactor set_helper_option() - - remote-curl.c: convert fetch_git() to use argv_array - - The existing "git fetch --depth=" option was hard to use - correctly when making the history of an existing shallow clone - deeper. A new option, "--deepen=", has been added to make this - easier to use. "git clone" also learned "--shallow-since=" - and "--shallow-exclude=" options to make it easier to specify - "I am interested only in the recent N months worth of history" and - "Give me only the history since that version". - - Needs review. - - * sg/completion-updates (2016-02-28) 21 commits . completion: cache the path to the repository . completion: extract repository discovery from __gitdir() @@ -269,6 +336,69 @@ of the repositories listed at -------------------------------------------------- [Cooking] +* nd/shallow-deepen (2016-06-13) 27 commits + - fetch, upload-pack: --deepen=N extends shallow boundary by N commits + - upload-pack: add get_reachable_list() + - upload-pack: split check_unreachable() in two, prep for get_reachable_list() + - t5500, t5539: tests for shallow depth excluding a ref + - clone: define shallow clone boundary with --shallow-exclude + - fetch: define shallow boundary with --shallow-exclude + - upload-pack: support define shallow boundary by excluding revisions + - refs: add expand_ref() + - t5500, t5539: tests for shallow depth since a specific date + - clone: define shallow clone boundary based on time with --shallow-since + - fetch: define shallow boundary with --shallow-since + - upload-pack: add deepen-since to cut shallow repos based on time + - shallow.c: implement a generic shallow boundary finder based on rev-list + - fetch-pack: use a separate flag for fetch in deepening mode + - fetch-pack.c: mark strings for translating + - fetch-pack: use a common function for verbose printing + - fetch-pack: use skip_prefix() instead of starts_with() + - upload-pack: move rev-list code out of check_non_tip() + - upload-pack: make check_non_tip() clean things up on error + - upload-pack: tighten number parsing at "deepen" lines + - upload-pack: use skip_prefix() instead of starts_with() + - upload-pack: move "unshallow" sending code out of deepen() + - upload-pack: remove unused variable "backup" + - upload-pack: move "shallow" sending code out of deepen() + - upload-pack: move shallow deepen code out of receive_needs() + - transport-helper.c: refactor set_helper_option() + - remote-curl.c: convert fetch_git() to use argv_array + + The existing "git fetch --depth=" option was hard to use + correctly when making the history of an existing shallow clone + deeper. A new option, "--deepen=", has been added to make this + easier to use. "git clone" also learned "--shallow-since=" + and "--shallow-exclude=" options to make it easier to specify + "I am interested only in the recent N months worth of history" and + "Give me only the history since that version". + + Rerolled. + + +* jk/avoid-unbounded-alloca (2016-06-07) 1 commit + - tree-diff: avoid alloca for large allocations + + Will merge to 'next'. + + +* jk/send-pack-stdio (2016-06-10) 2 commits + - write_or_die: remove the unused write_or_whine() function + - send-pack: use buffered I/O to talk to pack-objects + + Code clean-up. + + Will merge to 'next'. + + +* pb/commit-editmsg-path (2016-06-09) 1 commit + - builtin/commit.c: memoize git-path for COMMIT_EDITMSG + + Code clean-up. + + Will merge to 'next'. + + * wd/userdiff-css (2016-06-03) 1 commit (merged to 'next' on 2016-06-06 at 536102f) + userdiff: add built-in pattern for CSS @@ -278,9 +408,12 @@ of the repositories listed at Will merge to 'master' after 2.9 final. -* jc/attr-more (2016-06-08) 5 commits +* jc/attr-more (2016-06-09) 8 commits + - attr.c: outline the future plans by heavily commenting - attr.c: always pass check[] to collect_some_attrs() + - attr.c: introduce empty_attr_check_elems() - attr.c: correct ugly hack for git_all_attrs() + - attr.c: rename a local variable check - fixup! d5ad6c13 - attr.c: pass struct git_attr_check down the callchain - attr.c: add push_stack() helper @@ -380,7 +513,7 @@ of the repositories listed at reflog was truncated. -* tb/complete-status (2016-06-06) 3 commits +* tb/complete-status (2016-06-10) 3 commits - completion: add git status - completion: add __git_get_option_value helper - completion: factor out untracked file modes into a variable @@ -388,8 +521,6 @@ of the repositories listed at The completion script (in contrib/) learned to complete "git status" options. - Breaks t9902. - * tr/doc-tt (2016-06-08) 4 commits - doc: change configuration variables format @@ -443,26 +574,6 @@ of the repositories listed at Will merge to 'next'. -* jc/t2300-setup (2016-06-01) 1 commit - (merged to 'next' on 2016-06-06 at 20f7f83) - + t2300: run git-sh-setup in an environment that better mimics the real life - (this branch is used by va/i18n-even-more.) - - A test fix. - - Will merge to 'master'. - - -* jk/shell-portability (2016-06-01) 2 commits - (merged to 'next' on 2016-06-06 at 5de784e) - + t5500 & t7403: lose bash-ism "local" - + test-lib: add in-shell "env" replacement - - test fixes. - - Will merge to 'master'. - - * mh/connect (2016-06-06) 10 commits - connect: [host:port] is legacy for ssh - connect: move ssh command line preparation to a separate function @@ -505,6 +616,7 @@ of the repositories listed at (merged to 'next' on 2016-05-31 at 1ee161c) + submodule update: learn `--[no-]recommend-shallow` option + submodule-config: keep shallow recommendation around + (this branch is used by sb/submodule-clone-retry.) An upstream project can make a recommendation to make only a shallow clone for some submodules in the .gitmodules file it ship. @@ -559,7 +671,6 @@ of the repositories listed at - i18n: advice: mark string about detached head for translation - i18n: builtin/remote.c: fix mark for translation - Merge branch 'jc/t2300-setup' into HEAD - (this branch uses jc/t2300-setup.) More markings of messages for i18n, with updates to various tests to pass GETTEXT_POISON tests. @@ -586,7 +697,7 @@ of the repositories listed at We may want to squash a test or two to this commit. Volunteers? -* nd/worktree-lock (2016-06-03) 6 commits +* nd/worktree-lock (2016-06-13) 6 commits - worktree.c: find_worktree() search by path suffix - worktree: add "unlock" command - worktree: add "lock" command @@ -643,7 +754,9 @@ of the repositories listed at ($gmane/295705). -* rs/xdiff-hunk-with-func-line (2016-05-31) 8 commits +* rs/xdiff-hunk-with-func-line (2016-06-09) 9 commits + (merged to 'next' on 2016-06-10 at 9ff9ba8) + + xdiff: fix merging of appended hunk with -W (merged to 'next' on 2016-06-02 at 0c2e335) + grep: -W: don't extend context to trailing empty lines + t7810: add test for grep -W and trailing empty context lines @@ -671,7 +784,8 @@ of the repositories listed at Will merge to 'master' after 2.9 final. -* sb/submodule-default-paths (2016-05-26) 11 commits +* sb/submodule-default-paths (2016-06-14) 8 commits + - completion: clone can recurse into submodules - clone: add --init-submodule= switch - submodule update: add `--init-default-path` switch - Merge branch 'sb/pathspec-label' into sb/submodule-default-paths @@ -679,12 +793,7 @@ of the repositories listed at - Merge branch 'sb/clone-shallow-passthru' into sb/submodule-default-paths - Merge branch 'sb/submodule-deinit-all' into sb/submodule-default-paths - Merge branch 'sb/submodule-parallel-update' into sb/submodule-default-paths - (merged to 'next' on 2016-05-31 at e72b604) - + 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 - (this branch uses jc/attr; is tangled with jc/attr-more and sb/pathspec-label.) + (this branch uses jc/attr and sb/pathspec-label; is tangled with jc/attr-more.) Will hold. @@ -820,7 +929,7 @@ of the repositories listed at + pathspec: move prefix check out of the inner loop + pathspec: move long magic parsing out of prefix_pathspec + Documentation: fix a typo - (this branch uses jc/attr; is tangled with jc/attr-more and sb/submodule-default-paths.) + (this branch is used by sb/submodule-default-paths; uses jc/attr; is tangled with jc/attr-more.) The pathspec mechanism learned ":(attr:X)$pattern" pathspec magic to limit paths that match $pattern further by attribute settings. -- 2.47.3