From: Junio C Hamano Date: Fri, 30 Nov 2018 08:53:01 +0000 (+0900) Subject: What's cooking (2018/11 #07) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=12887a8d84cab98a7443591b711733fd8281eaa8;p=thirdparty%2Fgit.git What's cooking (2018/11 #07) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 3d2f7ba60f..2f997178c6 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 (Nov 2018, #06; Wed, 21) -X-master-at: bb75be6cb916297f271c846f2f9caa3daaaec718 -X-next-at: 68bc7959f8dc2d629c09be1a52f1b95b977b3a13 +Subject: What's cooking in git.git (Nov 2018, #07; Fri, 30) +X-master-at: 7068cbc4abac53d9c3675dfba81c1e97d25e8eeb +X-next-at: a9faaff8c120bf4783cb892c157871fe524b3608 -What's cooking in git.git (Nov 2018, #06; Wed, 21) +What's cooking in git.git (Nov 2018, #07; Fri, 30) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,356 +12,242 @@ 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 road to the upcoming 2.20 turned out to be a bit rockier as we +had a couple of subcommands with larger importance (rebase and +rebase-i) reimplemented, together with some new and exciting +commands (like range-diff and its integration into format-patch), +each with a few loose ends we needed to tie until the last minute. +I've let -rc1 and -rc2 slip for a few days to make sure we get +closer to a stable point, and I am hoping that a few topics that are +at the bottom of master..pu chain with today's pushout merged to the +'master' branch, I should be able to cut a 2.20-rc2 that is in a +reasonable shape. + 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"] - -* ab/dynamic-gettext-poison (2018-11-09) 2 commits - (merged to 'next' on 2018-11-18 at 13247a3be6) - + Makefile: ease dynamic-gettext-poison transition - + i18n: make GETTEXT_POISON a runtime option - - Our testing framework uses a special i18n "poisoned localization" - feature to find messages that ought to stay constant but are - incorrectly marked to be translated. This feature has been made - into a runtime option (it used to be a compile-time option). +[New Topics] +* gh/diff-raw-has-no-ellipses (2018-11-26) 1 commit + (merged to 'next' on 2018-11-29 at 24a7536f15) + + doc: update diff-format.txt for removed ellipses in --raw -* ab/range-diff-no-patch (2018-11-14) 3 commits - (merged to 'next' on 2018-11-17 at c42e0891d0) - + range-diff: make diff option behavior (e.g. --stat) consistent - + range-diff: fix regression in passing along diff options - + range-diff doc: add a section about output stability + "git diff --raw" lost ellipses to adjust the output columns for + some time now, but the documentation still showed them. - The "--no-patch" option, which can be used to get a high-level - overview without the actual line-by-line patch difference shown, of - the "range-diff" command was earlier broken, which has been - corrected. + Will cook in 'next'. -* ab/rebase-in-c-escape-hatch (2018-11-16) 2 commits - (merged to 'next' on 2018-11-17 at a01be221c7) - + tests: add a special setup where rebase.useBuiltin is off - + rebase doc: document rebase.useBuiltin +* mk/http-backend-kill-children-before-exit (2018-11-26) 1 commit + (merged to 'next' on 2018-11-29 at bf2d45062f) + + http-backend: enable cleaning up forked upload/receive-pack on exit - The recently merged "rebase in C" has an escape hatch to use the - scripted version when necessary, but it hasn't been documented, + The http-backend CGI process did not correctly clean up the child + processes it spawns to run upload-pack etc. when it dies itself, which has been corrected. + Will cook in 'next'. -* ag/p3400-force-checkout (2018-11-12) 1 commit - (merged to 'next' on 2018-11-17 at 87ff48d52a) - + p3400: replace calls to `git checkout -b' by `git checkout -B' - - Perf test tweak. - - -* cb/notes-freeing-always-null-fix (2018-11-13) 1 commit - (merged to 'next' on 2018-11-17 at 47aeec5fc9) - + builtin/notes: remove unnecessary free - - Code cleanup. - - -* dd/poll-dot-h (2018-11-14) 1 commit - (merged to 'next' on 2018-11-18 at b6745f3308) - + git-compat-util: prefer poll.h to sys/poll.h - - A build update. - - -* ds/push-squelch-ambig-warning (2018-11-07) 1 commit - (merged to 'next' on 2018-11-18 at 5e8b3db129) - + pack-objects: ignore ambiguous object warnings - - "git push" used to check ambiguities between object-names and - refnames while processing the list of refs' old and new values, - which was unnecessary (as it knew that it is feeding raw object - names). This has been optimized out. - - -* ds/reachable-topo-order (2018-11-02) 7 commits - (merged to 'next' on 2018-11-13 at 4155d01aee) - + t6012: make rev-list tests more interesting - + revision.c: generation-based topo-order algorithm - + commit/revisions: bookkeeping before refactoring - + revision.c: begin refactoring --topo-order logic - + test-reach: add rev-list tests - + test-reach: add run_three_modes method - + prio-queue: add 'peek' operation - - The revision walker machinery learned to take advantage of the - commit generation numbers stored in the commit-graph file. - - -* jk/close-duped-fd-before-unlock-for-bundle (2018-11-17) 1 commit - (merged to 'next' on 2018-11-17 at 2fe598284e) - + bundle: dup() output descriptor closer to point-of-use - - When "git bundle" aborts due to an empty commit ranges - (i.e. resulting in an empty pack), it left a file descriptor to an - lockfile open, which resulted in leftover lockfile on Windows where - you cannot remove a file with an open file descriptor. This has - been corrected. - - -* jk/curl-ldflags (2018-11-05) 1 commit - (merged to 'next' on 2018-11-13 at d1387a3aa0) - + build: link with curl-defined linker flags - - The way -lcurl library gets linked has been simplified by taking - advantage of the fact that we can just ask curl-config command how. - - -* jk/unused-parameter-fixes (2018-11-06) 14 commits - (merged to 'next' on 2018-11-13 at 8d3625b4ae) - + midx: double-check large object write loop - + assert NOARG/NONEG behavior of parse-options callbacks - + parse-options: drop OPT_DATE() - + apply: return -1 from option callback instead of calling exit(1) - + cat-file: report an error on multiple --batch options - + tag: mark "--message" option with NONEG - + show-branch: mark --reflog option as NONEG - + format-patch: mark "--no-numbered" option with NONEG - + status: mark --find-renames option with NONEG - + cat-file: mark batch options with NONEG - + pack-objects: mark index-version option as NONEG - + ls-files: mark exclude options as NONEG - + am: handle --no-patch-format option - + apply: mark include/exclude options as NONEG - - Various functions have been audited for "-Wunused-parameter" warnings - and bugs in them got fixed. - - -* jk/verify-sig-merge-into-void (2018-11-07) 3 commits - (merged to 'next' on 2018-11-13 at a207be60ed) - + pull: handle --verify-signatures for unborn branch - + merge: handle --verify-signatures for unborn branch - + merge: extract verify_merge_signature() helper - - "git merge" and "git pull" that merges into an unborn branch used - to completely ignore "--verify-signatures", which has been - corrected. - - -* js/apply-recount-allow-noop (2018-11-13) 1 commit - (merged to 'next' on 2018-11-17 at e413fa105f) - + apply --recount: allow "no-op hunks" - - When editing a patch in a "git add -i" session, a hunk could be - made to no-op. The "git apply" program used to reject a patch with - such a no-op hunk to catch user mistakes, but it is now updated to - explicitly allow a no-op hunk in an edited patch. - - -* js/builtin-rebase-perf-fix (2018-11-13) 3 commits - (merged to 'next' on 2018-11-17 at 9e9db8c8e1) - + built-in rebase: reinstate `checkout -q` behavior where appropriate - + rebase: prepare reset_head() for more flags - + rebase: consolidate clean-up code before leaving reset_head() - - Code clean-up with correction to make the reimplemented "git - rebase" a more faithful rewrite of the original, which also regains - performance. - - -* js/config-sequence (2018-11-16) 1 commit - (merged to 'next' on 2018-11-17 at fefca0bbe8) - + config: report a bug if git_dir exists without commondir - - A sanity check for start-up sequence has been added in the config - API codepath. +* ab/replace-graft-with-replace-advice (2018-11-29) 1 commit + (merged to 'next' on 2018-11-30 at c5d658e075) + + advice: don't pointlessly suggest --convert-graft-file -* js/fuzz-cxxflags (2018-11-16) 1 commit - (merged to 'next' on 2018-11-17 at 5e589a5237) - + Makefile: use FUZZ_CXXFLAGS for linking fuzzers + The advice message to tell the user to migrate an existing graft + file to the replace system when a graft file was read was shown + even when "git replace --convert-graft-file" command, which is the + way the message suggests to use, was running, which made little + sense. - The build procedure to link for fuzzing test has been made - customizable with a new Makefile variable. + Will merge to 'master'. -* js/mailmap (2018-11-12) 1 commit - (merged to 'next' on 2018-11-17 at 673bfc4cfa) - + Update .mailmap +* ma/reset-doc-rendering-fix (2018-11-29) 2 commits + (merged to 'next' on 2018-11-30 at be718c19e2) + + git-reset.txt: render literal examples as monospace + + git-reset.txt: render tables correctly under Asciidoctor - Update the mailmap to unify multiple entries for the authors with - commits since v2.10. + Doc updates. + Will merge to 'master'. -* js/mingw-create-hard-link (2018-11-14) 1 commit - (merged to 'next' on 2018-11-17 at 27f866db16) - + mingw: use `CreateHardLink()` directly - Windows update. +* sg/daemon-test-signal-fix (2018-11-27) 1 commit + (merged to 'next' on 2018-11-30 at b3f7fdf727) + + t/lib-git-daemon: fix signal checking + Test fix. -* js/mingw-msdn-url (2018-11-16) 1 commit - (merged to 'next' on 2018-11-17 at a6a9afddbf) - + mingw: replace an obsolete link with the superseding one + Will merge to 'master'. - The URL to an MSDN page in a comment has been updated. +* tb/log-G-binary (2018-11-29) 1 commit + - log -G: ignore binary files -* js/mingw-res-rebuild (2018-11-07) 1 commit - (merged to 'next' on 2018-11-13 at fb736827d1) - + Windows: force-recompile git.res for differing architectures + "git log -G" looked for a hunk in the "git log -p" patch + output that contained a string that matches the given pattern. + Optimize this code to ignore binary files, which by default will + not show any hunk that would match any pattern (unless textconv or + the --text option is in effect, that is). - Windows build update. + Expecting an update to the tests. -* js/rebase-am-options (2018-11-16) 2 commits - (merged to 'next' on 2018-11-17 at f956d9b948) - + rebase: validate -C and --whitespace= parameters early - + rebase: really just passthru the `git am` options +* jc/format-patch-range-diff-fix (2018-11-30) 1 commit + (merged to 'next' on 2018-11-30 at 26290b1ec1) + + format-patch: do not let its diff-options affect --range-diff - The way "git rebase" parses and forwards the command line options - meant for underlying "git am" has been revamped, which fixed for - options with parameters that were not passed correctly. + "git format-patch --range-diff" by mistake passed the diff options + used to generate the primary output of the command to the + range-diff machinery, which caused the range-diff in the cover + letter to include fairly useless "--stat" output. This has been + corrected by forcing a non-customizable default formatting options + on the range-diff machinery when driven by format-patch. + Will merge to 'master'. -* js/rebase-autostash-detach-fix (2018-11-08) 2 commits - (merged to 'next' on 2018-11-17 at 15957b4a5a) - + built-in rebase --autostash: leave the current branch alone if possible - + built-in rebase: demonstrate regression with --autostash - "git rebase --autostash" did not correctly re-attach the HEAD at times. +* js/rebase-reflog-action-fix (2018-11-30) 1 commit + (merged to 'next' on 2018-11-30 at 93fd2fb920) + + rebase: fix GIT_REFLOG_ACTION regression + "git rebase" reimplemented recently in C accidentally changed the + way reflog entries are recorded (earlier "rebase -i" identified the + entries it leaves with "rebase -i", but the new version always + marks them with "rebase"). This has been corrected. -* js/rebase-r-and-merge-head (2018-11-13) 5 commits - (merged to 'next' on 2018-11-17 at 6bb27df7b1) - + status: rebase and merge can be in progress at the same time - + built-in rebase --skip/--abort: clean up stale .git/ files - + rebase -i: include MERGE_HEAD into files to clean up - + rebase -r: do not write MERGE_HEAD unless needed - + rebase -r: demonstrate bug with conflicting merges + Will merge to 'master'. - Bugfix for the recently graduated "git rebase --rebase-merges". +* js/rebase-stat-unrelated-fix (2018-11-30) 1 commit + (merged to 'next' on 2018-11-30 at a9faaff8c1) + + rebase --stat: fix when rebasing to an unrelated history -* js/test-git-installed (2018-11-16) 5 commits - (merged to 'next' on 2018-11-18 at 61474ba19e) - + tests: explicitly use `git.exe` on Windows - + tests: do not require Git to be built when testing an installed Git - + t/lib-gettext: test installed git-sh-i18n if GIT_TEST_INSTALLED is set - + tests: respect GIT_TEST_INSTALLED when initializing repositories - + tests: fix GIT_TEST_INSTALLED's PATH to include t/helper/ + "git rebase --stat" to transplant a piece of history onto a totally + unrelated history were not working before and silently showed wrong + result. With the recent reimplementation in C, it started to instead + die with an error message, as the original logic was not prepared + to cope with this case. This has now been fixed. - Update the "test installed Git" mode of our test suite to work better. + Will merge to 'master'. +-------------------------------------------------- +[Graduated to "master"] -* lj/mingw-pthread-cond (2018-11-14) 1 commit - (merged to 'next' on 2018-11-17 at 46abe4100d) - + win32: replace pthread_cond_*() with much simpler code +* cc/delta-islands (2018-11-21) 3 commits + (merged to 'next' on 2018-11-21 at 3bac399f83) + + pack-objects: fix off-by-one in delta-island tree-depth computation + + pack-objects: zero-initialize tree_depth/layer arrays + + pack-objects: fix tree_depth and layer invariants - Code simplification. + A few issues in the implementation of "delta-islands" feature has + been corrected. -* mg/gpg-fingerprint-test (2018-11-05) 2 commits - (merged to 'next' on 2018-11-13 at 71f11020c4) - + t/t7510-signed-commit.sh: add signing subkey to Eris Discordia key - + t/t7510-signed-commit.sh: Add %GP to custom format checks +* cc/shared-index-permbits (2018-11-19) 1 commit + (merged to 'next' on 2018-11-19 at 79df716844) + + read-cache: make the split index obey umask settings - Add a few tests for a topic already in 'master'. + The way .git/index and .git/sharedindex* files were initially + created gave these files different perm bits until they were + adjusted for shared repository settings. This was made consistent. -* nd/command-list-gen-fix (2018-11-12) 1 commit - (merged to 'next' on 2018-11-17 at a6ff6baa0b) - + build: fix broken command-list.h generation with core.autocrlf +* jk/t5562-perl-path-fix (2018-11-24) 1 commit + (merged to 'next' on 2018-11-24 at 2d8dca3544) + + t5562: fix perl path - Build tweak. + Hotfix for test breakage on platforms whose Perl is not at + /usr/bin/perl -* nd/doc-extensions (2018-11-16) 1 commit - (merged to 'next' on 2018-11-17 at 09306064d5) - + doc: move extensions.worktreeConfig to the right place +* jn/eoie-ieot (2018-11-21) 3 commits + (merged to 'next' on 2018-11-21 at 9eb98a38f0) + + index: make index.threads=true enable ieot and eoie + + ieot: default to not writing IEOT section + + eoie: default to not writing EOIE section + (this branch is used by jn/unknown-index-extensions.) - Doc update. + As the warning message shown by existing versions of Git for + unknown index extensions is a bit too alarming, two new extensions + are held back and not written by default for the upcoming release. -* nd/format-patch-cover-letter-stat-width (2018-11-13) 1 commit - (merged to 'next' on 2018-11-18 at 65a464977d) - + format-patch: respect --stat in cover letter's diffstat +* js/builtin-rebase-perf-fix-err-fix (2018-11-21) 1 commit + (merged to 'next' on 2018-11-21 at 9c351cfc4a) + + rebase: warn about the correct tree's OID - "git format-patch --stat=" can be used to specify the width - used by the diffstat (shown in the cover letter). + The object name of the tree reported in a recently added error + message was wrong, which has been corrected. -* nd/pthreads (2018-11-05) 14 commits - (merged to 'next' on 2018-11-13 at bb6914b3f8) - + Clean up pthread_create() error handling - + read-cache.c: initialize copy_len to shut up gcc 8 - + read-cache.c: reduce branching based on HAVE_THREADS - + read-cache.c: remove #ifdef NO_PTHREADS - + pack-objects: remove #ifdef NO_PTHREADS - + preload-index.c: remove #ifdef NO_PTHREADS - + grep: clean up num_threads handling - + grep: remove #ifdef NO_PTHREADS - + attr.c: remove #ifdef NO_PTHREADS - + name-hash.c: remove #ifdef NO_PTHREADS - + index-pack: remove #ifdef NO_PTHREADS - + send-pack.c: move async's #ifdef NO_PTHREADS back to run-command.c - + run-command.h: include thread-utils.h instead of pthread.h - + thread-utils: macros to unconditionally compile pthreads API +* js/rebase-am-options-fix (2018-11-21) 1 commit + (merged to 'next' on 2018-11-21 at 4da85e17c2) + + legacy-rebase: backport -C and --whitespace=