From d8d150ead11bcbe1cc1588a974a333d27500505a Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 18 Jul 2017 14:39:06 -0700 Subject: [PATCH] What's cooking (2017/07 #05) --- whats-cooking.txt | 366 +++++++++++++++++++++++++--------------------- 1 file changed, 203 insertions(+), 163 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 9b20209951..36b2102441 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 (Jul 2017, #04; Thu, 13) -X-master-at: f3da2b79be9565779e4f76dc5812c68e156afdf0 -X-next-at: d933b75aa4527621ff2f4d20b22127619c6d28ba +Subject: What's cooking in git.git (Jul 2017, #05; Tue, 18) +X-master-at: cac25fc330fc26050dcbc92c4bfff169a4848e93 +X-next-at: a5a5890e50e4d3c12611adc886e44b2c07a74a76 -What's cooking in git.git (Jul 2017, #04; Thu, 13) +What's cooking in git.git (Jul 2017, #05; Tue, 18) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -25,164 +25,190 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* ab/grep-lose-opt-regflags (2017-06-30) 6 commits - (merged to 'next' on 2017-07-05 at 375c0b92ea) - + grep: remove redundant REG_NEWLINE when compiling fixed regex - + grep: remove regflags from the public grep_opt API - + grep: remove redundant and verbose re-assignments to 0 - + grep: remove redundant "fixed" field re-assignment to 0 - + grep: adjust a redundant grep pattern type assignment - + grep: remove redundant double assignment to 0 +* jk/gc-pre-detach-under-hook (2017-07-12) 1 commit + (merged to 'next' on 2017-07-12 at 9cf44c2b07) + + gc: run pre-detach operations under lock - Code cleanup. + We run an early part of "git gc" that deals with refs before + daemonising (and not under lock) even when running a background + auto-gc, which caused multiple gc processes attempting to run the + early part at the same time. This is now prevented by running the + early part also under the GC lock. -* jk/build-with-asan (2017-07-10) 5 commits - (merged to 'next' on 2017-07-10 at 49757e1119) - + Makefile: disable unaligned loads with UBSan - + Makefile: turn off -fomit-frame-pointer with sanitizers - + Makefile: add helper for compiling with -fsanitize - + test-lib: turn on ASan abort_on_error by default - + test-lib: set ASAN_OPTIONS variable before we run git +* jn/hooks-pre-rebase-sample-fix (2017-07-11) 1 commit + (merged to 'next' on 2017-07-12 at ed86887454) + + pre-rebase hook: capture documentation in a < - Code cleanup. +* bw/grep-recurse-submodules (2017-07-18) 10 commits + - grep: recurse in-process using 'struct repository' + - submodule: merge repo_read_gitmodules and gitmodules_config + - submodule: check for unmerged .gitmodules outside of config parsing + - submodule: check for unstaged .gitmodules outside of config parsing + - submodule: remove fetch.recursesubmodules from submodule-config parsing + - submodule: remove submodule.fetchjobs from submodule-config parsing + - config: add config_from_gitmodules + - cache.h: add GITMODULES_FILE macro + - repository: have the_repository use the_index + - repo_read_index: don't discard the index -* rs/wt-status-cleanup (2017-07-10) 1 commit - (merged to 'next' on 2017-07-10 at d8939f683a) - + wt-status: use separate variable for result of shorten_unambiguous_ref - Code cleanup. +* bw/object-id (2017-07-17) 3 commits + (merged to 'next' on 2017-07-18 at 90d27c0e7c) + + receive-pack: don't access hash of NULL object_id pointer + + notes: don't access hash of NULL object_id pointer + + tree-diff: don't access hash of NULL object_id pointer + + Conversion from uchar[20] to struct object_id continues. + Will merge to 'master'. -* sb/hashmap-customize-comparison (2017-06-30) 3 commits - (merged to 'next' on 2017-07-06 at cc420805f3) - + hashmap: migrate documentation from Documentation/technical into header - + patch-ids.c: use hashmap correctly - + hashmap.h: compare function has access to a data field - (this branch is used by sb/diff-color-move and sb/hashmap-cleanup.) - Update the hashmap API so that data to customize the behaviour of - the comparison function can be specified at the time a hashmap is - initialized. +* ew/fd-cloexec-fix (2017-07-17) 1 commit + (merged to 'next' on 2017-07-18 at a3de1b1998) + + set FD_CLOEXEC properly when O_CLOEXEC is not supported + Portability/fallback fix. -* sb/pull-rebase-submodule (2017-06-27) 4 commits - (merged to 'next' on 2017-07-09 at 48d2c3a51c) - + builtin/fetch cleanup: always set default value for submodule recursing - + pull: optionally rebase submodules (remote submodule changes only) - + builtin/fetch: parse recurse-submodules-default at default options parsing - + builtin/fetch: factor submodule recurse parsing out to submodule config + Will merge to 'master'. - "git pull --rebase --recurse-submodules" learns to rebase the - branch in the submodules to an updated base. +* jk/build-with-asan (2017-07-17) 1 commit + (merged to 'next' on 2017-07-18 at f92636c616) + + Makefile: allow combining UBSan with other sanitizers -* sb/submodule-doc (2017-06-22) 1 commit - (merged to 'next' on 2017-07-09 at fda0ceec31) - + submodules: overhaul documentation + A recent update made it easier to use "-fsanitize=" option while + compiling but supported only one sanitize option. Allow more than + one to be combined, joined with a comma, like "make SANITIZE=foo,bar". - Doc update. + Will merge to 'master'. --------------------------------------------------- -[New Topics] -* jn/hooks-pre-rebase-sample-fix (2017-07-11) 1 commit - (merged to 'next' on 2017-07-12 at ed86887454) - + pre-rebase hook: capture documentation in a <use_colors through to pretty-print - - for-each-ref: load config earlier - - color: check color.ui in git_default_config() - - ref-filter: pass ref_format struct to atom parsers - - ref-filter: factor out the parsing of sorting atoms - - ref-filter: make parse_ref_filter_atom a private function - - ref-filter: provide a function for parsing sort options - - ref-filter: move need_color_reset_at_eol into ref_format - - ref-filter: abstract ref format into its own struct - - ref-filter: simplify automatic color reset - - t: use test_decode_color rather than literal ANSI codes - - docs/for-each-ref: update pointer to color syntax - - check return value of verify_ref_format() +* ks/commit-abort-on-empty-message-fix (2017-07-17) 1 commit + - commit: check for empty message before the check for untouched template - "%C(color name)" in the pretty print format always produced ANSI - color escape codes, which was an early design mistake. They now - honor the configuration (e.g. "color.ui = never") and also tty-ness - of the output medium. + "git commit" when seeing an totally empty message said "you did not + edit the message", which is clearly wrong. The message has been + corrected. - Will merge to and cook in 'next'. + Will merge to 'next'. -* sb/object-id (2017-07-13) 2 commits - - tag: convert gpg_verify_tag to use struct object_id - - commit: convert lookup_commit_graft to struct object_id +* ks/doc-fixes (2017-07-17) 1 commit + - doc: camelCase the i18n config variables to improve readability + + Will merge to 'next'. + + +* rs/bswap-ubsan-fix (2017-07-17) 2 commits + - bswap: convert get_be16, get_be32 and put_be32 to inline functions + - bswap: convert to unsigned before shifting in get_be32 + + Will merge to 'next'. + + +* rs/move-array (2017-07-17) 4 commits + - ls-files: don't try to prune an empty index + - apply: use COPY_ARRAY and MOVE_ARRAY in update_image() + - use MOVE_ARRAY + - add MOVE_ARRAY + + Will merge to 'next'. + + +* rs/stat-data-unaligned-reads-fix (2017-07-17) 1 commit + - dir: support platforms that require aligned reads + + Will merge to 'next'. - Conversion from uchar[20] to struct object_id continues. + +* wd/rebase-conflict-guide (2017-07-17) 1 commit + - rebase: make resolve message clearer for inexperienced users Will merge to 'next'. + +* hb/gitweb-project-list (2017-07-18) 1 commit + - gitweb: skip unreadable subdirectories + + When a directory is not readable, "gitweb" fails to build the + project list. Work this around by skipping such a directory. + + Undecided. + + It might end up hiding a problem under the rug and a better + solution might be to loudly complain to the administrator pointing + out the problematic directory, but this will at least make it + "work". + -------------------------------------------------- [Stalled] @@ -249,14 +275,39 @@ of the repositories listed at -------------------------------------------------- [Cooking] -* rs/progress-overall-throughput-at-the-end (2017-07-09) 1 commit - (merged to 'next' on 2017-07-11 at f5168e975b) - + progress: show overall rate in last update +* jk/ref-filter-colors (2017-07-13) 15 commits + (merged to 'next' on 2017-07-18 at 75d4eb7ecf) + + ref-filter: consult want_color() before emitting colors + + pretty: respect color settings for %C placeholders + + rev-list: pass diffopt->use_colors through to pretty-print + + for-each-ref: load config earlier + + color: check color.ui in git_default_config() + + ref-filter: pass ref_format struct to atom parsers + + ref-filter: factor out the parsing of sorting atoms + + ref-filter: make parse_ref_filter_atom a private function + + ref-filter: provide a function for parsing sort options + + ref-filter: move need_color_reset_at_eol into ref_format + + ref-filter: abstract ref format into its own struct + + ref-filter: simplify automatic color reset + + t: use test_decode_color rather than literal ANSI codes + + docs/for-each-ref: update pointer to color syntax + + check return value of verify_ref_format() - The progress meter did not give a useful output when we haven't had - 0.5 seconds to measure the throughput during the interval. Instead - show the overall throughput rate at the end, which is a much more - useful number. + "%C(color name)" in the pretty print format always produced ANSI + color escape codes, which was an early design mistake. They now + honor the configuration (e.g. "color.ui = never") and also tty-ness + of the output medium. + + Will cook in 'next'. + + +* sb/object-id (2017-07-13) 2 commits + (merged to 'next' on 2017-07-18 at e4df0ba3b1) + + tag: convert gpg_verify_tag to use struct object_id + + commit: convert lookup_commit_graft to struct object_id + (this branch is used by bc/object-id.) + + Conversion from uchar[20] to struct object_id continues. Will merge to 'master'. @@ -272,15 +323,18 @@ of the repositories listed at * ks/prepare-commit-msg-sample (2017-07-12) 4 commits - - hook: add a simple first example - - hook: add sign-off using "interpret-trailers" - - hook: name the positional variables - - hook: cleanup script + (merged to 'next' on 2017-07-18 at 48d9650a30) + + hook: add a simple first example + + hook: add sign-off using "interpret-trailers" + + hook: name the positional variables + + hook: cleanup script Remove an example that is now obsolete from a sample hook, and improve an old example in it that added a sign-off manually to use the interpret-trailers command. + Will cook in 'next'. + * jc/allow-lazy-cas (2017-07-06) 1 commit - push: disable lazy --force-with-lease by default @@ -300,24 +354,25 @@ of the repositories listed at cf. -* bc/object-id (2017-07-04) 12 commits - - sha1_name: convert GET_SHA1* flags to GET_OID* - - sha1_name: convert get_sha1* to get_oid* - - Convert remaining callers of get_sha1 to get_oid. - - builtin/verify-tag: convert to struct object_id - - builtin/unpack-file: convert to struct object_id - - bisect: convert bisect_checkout to struct object_id - - builtin/update_ref: convert to struct object_id - - sequencer: convert to struct object_id - - remote: convert struct push_cas to struct object_id - - submodule: convert submodule config lookup to use object_id - - builtin/merge-tree: convert remaining caller of get_sha1 to object_id - - builtin/fsck: convert remaining caller of get_sha1 to object_id +* bc/object-id (2017-07-17) 12 commits + (merged to 'next' on 2017-07-18 at fd161056e4) + + sha1_name: convert uses of 40 to GIT_SHA1_HEXSZ + + sha1_name: convert GET_SHA1* flags to GET_OID* + + sha1_name: convert get_sha1* to get_oid* + + Convert remaining callers of get_sha1 to get_oid. + + builtin/unpack-file: convert to struct object_id + + bisect: convert bisect_checkout to struct object_id + + builtin/update_ref: convert to struct object_id + + sequencer: convert to struct object_id + + remote: convert struct push_cas to struct object_id + + submodule: convert submodule config lookup to use object_id + + builtin/merge-tree: convert remaining caller of get_sha1 to object_id + + builtin/fsck: convert remaining caller of get_sha1 to object_id + (this branch uses sb/object-id.) Conversion from uchar[20] to struct object_id continues. - Expecting a reroll. - cf. <20170707212201.ofdgjaips2tw3koy@genre.crustytoothpaste.net> + Will merge to 'master'. * jk/reflog-walk (2017-07-09) 9 commits @@ -361,32 +416,16 @@ of the repositories listed at Will cook in 'next'. -* tb/push-to-cygwin-unc-path (2017-07-05) 1 commit - (merged to 'next' on 2017-07-11 at 4d9c3f82bd) - + cygwin: allow pushing to UNC paths - - On Cygwin, similar to Windows, "git push //server/share/repository" - ought to mean a repository on a network share that can be accessed - locally, but this did not work correctly due to stripping the double - slashes at the beginning. - - This may need to be heavily tested before it gets unleashed to the - wild, as the change is at a fairly low-level code and would affect - not just the code to decide if the push destination is local. There - may be unexpected fallouts in the path normalization. - - Will merge to 'master'. - - * mt/p4-parse-G-output (2017-07-13) 3 commits - - git-p4: filter for {'code':'info'} in p4CmdList - - git-p4: parse marshal output "p4 -G" in p4 changes - - git-p4: git-p4 tests with p4 triggers + (merged to 'next' on 2017-07-18 at e065b689d4) + + git-p4: filter for {'code':'info'} in p4CmdList + + git-p4: parse marshal output "p4 -G" in p4 changes + + git-p4: git-p4 tests with p4 triggers Use "p4 -G" to make "p4 changes" output more Python-friendly to parse. - Wait to see Travis is OK with this and merge to 'next' + Will merge to 'master'. * ex/deprecate-empty-pathspec-as-match-all (2017-06-23) 2 commits @@ -444,19 +483,20 @@ of the repositories listed at * sd/branch-copy (2017-06-18) 3 commits - - branch: add a --copy (-c) option to go with --move (-m) - - branch: add test for -m renaming multiple config sections - - config: create a function to format section headers + (merged to 'next' on 2017-07-18 at 5e3b9357ea) + + branch: add a --copy (-c) option to go with --move (-m) + + branch: add test for -m renaming multiple config sections + + config: create a function to format section headers "git branch" learned "-c/-C" to create and switch to a new branch by copying an existing one. - Undecided. + Will cook in 'next'. I personally do not think "branch --copy master backup" while on "master" that switches to "backup" is a good UI, and I *will* say "I told you so" when users complain after we merge this down to - 'next' and eventually to 'master'. + 'master'. * ls/filter-process-delayed (2017-06-30) 7 commits -- 2.47.3