From 025e42b9ca8eb492b03ac87faca7a43705b7132b Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 21 Nov 2017 14:35:53 +0900 Subject: [PATCH] What's cooking (2017/11 #06) --- whats-cooking.txt | 663 +++++++++++++++++++--------------------------- 1 file changed, 279 insertions(+), 384 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index b4f52e4a16..d6a911802c 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 2017, #05; Fri, 17) -X-master-at: 89ea799ffcc5c8a0547d3c9075eb979256ee95b8 -X-next-at: f926f18f3dda0c52e794b2de0911f1b046c7dadf +Subject: What's cooking in git.git (Nov 2017, #06; Tue, 21) +X-master-at: 14c63a9dc093d6738454f6369a4f5663ca732cf7 +X-next-at: 466bffb3ac3fb7c740a2ea1485c5f69af6b40864 -What's cooking in git.git (Nov 2017, #05; Fri, 17) +What's cooking in git.git (Nov 2017, #06; Tue, 21) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,6 +12,10 @@ 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. +Quite a few "fixes" have been accumulated on 'master' and already +merged to 'maint' in preparation for 2.15.1; perhaps we can tag it +near the end of the month--no fix in the mix is an ultra urgent one. + You can find the changes described here in the integration branches of the repositories listed at @@ -20,334 +24,183 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* ab/mediawiki-name-truncation (2017-11-01) 1 commit - (merged to 'next' on 2017-11-07 at b30233d585) - + remote-mediawiki: limit filenames to legal - - The remote-helper for talking to MediaWiki has been updated to - truncate an overlong pagename so that ".mw" suffix can still be - added. - - -* ab/mediawiki-namespace (2017-11-08) 7 commits - (merged to 'next' on 2017-11-10 at 1cf9cfdfbc) - + remote-mediawiki: show progress while fetching namespaces - + remote-mediawiki: process namespaces in order - + remote-mediawiki: support fetching from (Main) namespace - + remote-mediawiki: skip virtual namespaces - + remote-mediawiki: show known namespace choices on failure - + remote-mediawiki: allow fetching namespaces with spaces - + remote-mediawiki: add namespace support - - The remote-helper for talking to MediaWiki has been updated to - work with mediawiki namespaces. - - -* ab/pcre-v2 (2017-11-13) 1 commit - (merged to 'next' on 2017-11-13 at 66bf57f071) - + grep: fix NO_LIBPCRE1_JIT to fully disable JIT - - Building with NO_LIBPCRE1_JIT did not disable it, which has been fixed. - - -* ad/rebase-i-serie-typofix (2017-11-09) 1 commit - (merged to 'next' on 2017-11-13 at 199e79b29e) - + rebase -i: fix comment typo - - Typofix. - - -* ao/merge-verbosity-getenv-just-once (2017-11-01) 1 commit - (merged to 'next' on 2017-11-09 at e7cfb8dcec) - + merge-recursive: check GIT_MERGE_VERBOSITY only once - - Code cleanup. - - -* bc/submitting-patches-in-asciidoc (2017-11-13) 2 commits - (merged to 'next' on 2017-11-13 at 70f65b981a) - + Documentation: convert SubmittingPatches to AsciiDoc - + Documentation: enable compat-mode for Asciidoctor - - The SubmittingPatches document has been converted to produce an - HTML version via AsciiDoc/Asciidoctor. - - -* bp/read-index-from-skip-verification (2017-11-08) 1 commit - (merged to 'next' on 2017-11-10 at 3c3e32f1ed) - + read_index_from(): speed index loading by skipping verification of the entry order - - Drop (perhaps overly cautious) sanity check before using the index - read from the filesystem at runtime. - - -* bw/rebase-i-ignored-submodule-fix (2017-11-07) 1 commit - (merged to 'next' on 2017-11-10 at a0a54103ed) - + wt-status: actually ignore submodules when requested - - "git rebase -i" recently started misbehaving when a submodule that - is configured with 'submodule..ignore' is dirty; this has - been corrected. - - -* cb/t4201-robustify (2017-11-13) 1 commit - (merged to 'next' on 2017-11-13 at b83957b8f2) - + t4201: make use of abbreviation in the test more robust - - A test update. - - -* cc/git-packet-pm (2017-11-07) 8 commits - (merged to 'next' on 2017-11-10 at b40bc2c0bb) - + Git/Packet.pm: extract parts of t0021/rot13-filter.pl for reuse - + t0021/rot13-filter: add capability functions - + t0021/rot13-filter: refactor checking final lf - + t0021/rot13-filter: add packet_initialize() - + t0021/rot13-filter: improve error message - + t0021/rot13-filter: improve 'if .. elsif .. else' style - + t0021/rot13-filter: refactor packet reading functions - + t0021/rot13-filter: fix list comparison - - Parts of a test to drive the long-running content filter interface - has been split into its own module, hopefully to eventually become - reusable. - - -* jk/info-alternates-fix (2017-11-13) 1 commit - (merged to 'next' on 2017-11-13 at ac84a7580a) - + link_alt_odb_entries: make empty input a noop - - We used to add an empty alternate object database to the system - that does not help anything; it has been corrected. - - -* js/for-each-ref-remote-name-and-ref (2017-11-08) 3 commits - (merged to 'next' on 2017-11-10 at 254af5d602) - + for-each-ref: test :remotename and :remoteref - + for-each-ref: let upstream/push report the remote ref name - + for-each-ref: let upstream/push optionally report the remote name - - The "--format=..." option "git for-each-ref" takes learned to show - the name of the 'remote' repository and the ref at the remote side - that is affected for 'upstream' and 'push' via "%(push:remotename)" - and friends. - - -* jt/submodule-tests-cleanup (2017-11-08) 1 commit - (merged to 'next' on 2017-11-10 at c6cbcdeaa4) - + Tests: clean up and document submodule helpers - - Test clean-up. - - -* ma/bisect-leakfix (2017-11-06) 4 commits - (merged to 'next' on 2017-11-09 at c280d786f4) - + bisect: fix memory leak when returning best element - + bisect: fix off-by-one error in `best_bisection_sorted()` - + bisect: fix memory leak in `find_bisection()` - + bisect: change calling-convention of `find_bisection()` - - Leak fixes. - - -* ma/reduce-heads-leakfix (2017-11-08) 2 commits - (merged to 'next' on 2017-11-10 at 9428953ec8) - + reduce_heads: fix memory leaks - + builtin/merge-base: free commit lists - - Leak fixes. - - -* mh/avoid-rewriting-packed-refs (2017-10-30) 2 commits - (merged to 'next' on 2017-11-09 at 272e27cc9a) - + files-backend: don't rewrite the `packed-refs` file unnecessarily - + t1409: check that `packed-refs` is not rewritten unnecessarily - - Recent update to the refs infrastructure implementation started - rewriting packed-refs file more often than before; this has been - optimized again for most trivial cases. - - -* mh/tidy-ref-update-flags (2017-11-06) 10 commits - (merged to 'next' on 2017-11-09 at 5231330c1c) - + refs: update some more docs to use "oid" rather than "sha1" - + write_packed_entry(): take `object_id` arguments - + refs: rename constant `REF_ISPRUNING` to `REF_IS_PRUNING` - + refs: rename constant `REF_NODEREF` to `REF_NO_DEREF` - + refs: tidy up and adjust visibility of the `ref_update` flags - + ref_transaction_add_update(): remove a check - + ref_transaction_update(): die on disallowed flags - + prune_ref(): call `ref_transaction_add_update()` directly - + files_transaction_prepare(): don't leak flags to packed transaction - + Merge branch 'bc/object-id' into base - - Code clean-up in refs API implementation. - - -* rd/bisect-view-is-visualize (2017-11-13) 1 commit - (merged to 'next' on 2017-11-13 at a36423f4ba) - + bisect: mention "view" as an alternative to "visualize" - - Doc and message updates to teach users "bisect view" is a synonym - for "bisect visualize". - - -* rs/imap-send-next-arg-fix (2017-11-03) 2 commits - (merged to 'next' on 2017-11-07 at f4df55fe5b) - + imap-send: handle missing response codes gracefully - + imap-send: handle NULL return of next_arg() +* ad/submitting-patches-title-decoration (2017-11-11) 1 commit + (merged to 'next' on 2017-11-15 at 99238c3537) + + doc/SubmittingPatches: correct subject guidance - Error checking in "git imap-send" for empty response has been - improved. + Doc update around use of "format-patch --subject-prefix" etc. -* rs/sequencer-rewrite-file-cleanup (2017-11-02) 3 commits - (merged to 'next' on 2017-11-09 at 06f45be770) - + sequencer.c: check return value of close() in rewrite_file() - + sequencer: use O_TRUNC to truncate files - + sequencer: factor out rewrite_file() +* av/fsmonitor (2017-11-13) 7 commits + (merged to 'next' on 2017-11-13 at db56ad7eef) + + fsmonitor: simplify determining the git worktree under Windows + + fsmonitor: store fsmonitor bitmap before splitting index + + fsmonitor: read from getcwd(), not the PWD environment variable + (merged to 'next' on 2017-11-07 at a06178754d) + + fsmonitor: delay updating state until after split index is merged + + fsmonitor: document GIT_TRACE_FSMONITOR + + fsmonitor: don't bother pretty-printing JSON from watchman + + fsmonitor: set the PWD to the top of the working tree + (this branch uses bp/fsmonitor.) - Code cleanup. + Various fixes to bp/fsmonitor topic. + Waiting for follow-on fixes to settle. -* sb/bisect-run-empty (2017-11-13) 1 commit - (merged to 'next' on 2017-11-13 at 90d20b8686) - + bisect run: die if no command is given - "git bisect run" that did not specify any command to run used to go - ahead and treated all commits to be tested as 'good'. This has - been corrected by making the command error out. +* bp/fsmonitor (2017-10-05) 15 commits + (merged to 'next' on 2017-11-07 at b08d44ba60) + + fsmonitor: preserve utf8 filenames in fsmonitor-watchman log + + fsmonitor: read entirety of watchman output + + fsmonitor: MINGW support for watchman integration + + fsmonitor: add a performance test + + fsmonitor: add a sample integration script for Watchman + + fsmonitor: add test cases for fsmonitor extension + + split-index: disable the fsmonitor extension when running the split index test + + fsmonitor: add a test tool to dump the index extension + + update-index: add fsmonitor support to update-index + + ls-files: Add support in ls-files to display the fsmonitor valid bit + + fsmonitor: add documentation for the fsmonitor extension. + + fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files. + + update-index: add a new --force-write-index option + + preload-index: add override to enable testing preload-index + + bswap: add 64 bit endianness helper get_be64 + (this branch is used by av/fsmonitor.) + Originally merged to 'next' on 2017-10-05 -* sr/wrapper-quote-filenames (2017-11-06) 1 commit - (merged to 'next' on 2017-11-09 at a14ac8da60) - + wrapper.c: consistently quote filenames in error messages + We learned to talk to watchman to speed up "git status" and other + operations that need to see which paths have been modified. - Some error messages did not quote filenames shown in it, which have - been fixed. + Waiting for follow-on fixes to settle. -* tz/fsf-address-update (2017-11-09) 3 commits - (merged to 'next' on 2017-11-13 at 97965f70d9) - + Merge branch 'tz/fsf-address-update' of ../git-gui into tz/fsf-address-update - + Replace Free Software Foundation address in license notices - + Replace Free Software Foundation address in license notices +* rs/apply-fuzzy-match-fix (2017-11-12) 1 commit + (merged to 'next' on 2017-11-15 at 2d724fa63b) + + apply: avoid out-of-bounds access in fuzzy_matchlines() - Replace the mailing address of FSF to a URL, as FSF prefers. + A fix for an ancient bug in "git apply --ignore-space-change" codepath. -------------------------------------------------- [New Topics] -* rv/sendemail-tocmd-in-config-and-completion (2017-11-14) 2 commits - - completion: add git config sendemail.tocmd - - Documentation/config: add sendemail.tocmd to list preceding "See git-send-email(1)" - - Teach "sendemail.tocmd" to places that know about "sendemail.to", - like documentation and shell completion (in contrib/). - - Will merge to 'next'. +* ew/rebase-mboxrd (2017-11-18) 1 commit + (merged to 'next' on 2017-11-21 at 88eaaac334) + + rebase: use mboxrd format to avoid split errors + When "git rebase" prepared an mailbox of changes and fed it to "git + am" to replay them, it was confused when a stray "From " happened + to be in the log message of one of the replayed changes. This has + been corrected. -* tz/notes-error-to-stderr (2017-11-15) 1 commit - - notes: send "Automatic notes merge failed" messages to stderr - - "git notes" sent its error message to its standard output stream, - which was corrected. + Will merge to 'master'. - Will merge to 'next'. +* rs/config-write-section-fix (2017-11-18) 1 commit + (merged to 'next' on 2017-11-21 at a7f3f93e0c) + + config: flip return value of write_section() -* hm/config-parse-expiry-date (2017-11-16) 1 commit - - config: add --expiry-date + There was a recent semantic mismerge in the codepath to write out a + section of a configuration section, which has been corrected. - "git config --expiry-date gc.reflogexpire" can read "2.weeks" from - the configuration and report it as a timestamp, just like "--int" - would read "1k" and report 1024, to help consumption by scripts. + Will merge to 'master'. -* sd/branch-copy (2017-11-16) 1 commit - - config: avoid "write_in_full(fd, buf, len) != len" pattern +* ma/branch-list-paginate (2017-11-20) 3 commits + - branch: change default of `pager.branch` to "on" + - branch: respect `pager.branch` in list-mode only + - t7006: add tests for how git branch paginates - Code clean-up. + "git branch --list" learned to show its output through the pager by + default when the output is going to a terminal, which is controlled + by the pager.branch configuration variable. This is similar to a + recent change to "git tag --list". Will merge to 'next'. -* pw/sequencer-recover-from-unlockable-index (2017-11-16) 1 commit - - sequencer: reschedule pick if index can't be locked +* rs/include-comments-before-the-function-header (2017-11-21) 6 commits + - grep: show non-empty lines before functions with -W + - grep: update boundary variable for pre-context + - t7810: improve check of -W with user-defined function lines + - xdiff: show non-empty lines before functions with -W + - xdiff: factor out is_func_rec() + - t4051: add test for comments preceding function lines - The sequencer machinery (used by "git cherry-pick A..B", and "git - rebase -i", among other things) would have lost a commit if stopped - due to an unlockable index file, which has been fixed. + "git grep -W", "git diff -W" and their friends learned a heuristic + to extend a pre-context beyond the line that matches the "function + pattern" (aka "diff.*.xfuncname") to include a comment block, if + exists, that immediately precedes it. Will merge to 'next'. -* dj/runtime-prefix (2017-11-17) 1 commit - - exec_cmd: RUNTIME_PREFIX on some POSIX systems +* jk/fewer-pack-rescan (2017-11-21) 5 commits + - sha1_file: don't re-scan pack directory for null sha1 + - everything_local: use "quick" object existence check + - p5551: add a script to test fetch pack-dir rescans + - t/perf/lib-pack: use fast-import checkpoint to create packs + - p5550: factor out nonsense-pack creation - A build-time option has been added to allow Git to be told to refer - to its associated files relative to the main binary, in the same - way that has been possible on Windows for quite some time, for - Linux, BSDs and Darwin. + Internaly we use 0{40} as a placeholder object name to signal the + codepath that there is no such object (e.g. the fast-forward check + while "git fetch" stores a new remote-tracking ref says "we know + there is no 'old' thing pointed at by the ref, as we are creating + it anew" by passing 0{40} for the 'old' side), and expect that a + codepath to locate an in-core object to return NULL as a sign that + the object does not exist. A look-up for an object that does not + exist however is quite costly with a repository with large number + of packfiles. This access pattern has been optimized. + Undecided. -* jc/editor-waiting-message (2017-11-17) 1 commit - - launch_editor(): indicate that Git waits for user input - - Git shows a message to tell the user that it is waiting for the - user to finish editing when spawning an editor, in case the editor - opens to a hidden window or somewhere obscure and the user gets - lost. + While resolving a conflict with jh/fsck-promisors topic, I ended up + with a code that rejects 0{40} a lot earlier, before we try to see + if a pack entry for 0{40} exists, even though the patch that is + queued on this topic is more conservative. Perhaps we would want + to use the alternate version that declares the 0{40} is a sentinel + that signals that there is no such object. -* rs/apply-inaccurate-eof-with-incomplete-line (2017-11-17) 1 commit - - apply: update line lengths for --inaccurate-eof +* ks/rebase-no-git-foo (2017-11-21) 1 commit + - git-rebase: clean up dashed-usages in messages - "git apply --inaccurate-eof" when used with "--ignore-space-change" - triggered an internal sanity check, which has been fixed. + Mentions of "git-rebase" and "git-am" (dashed form) still remained + in end-user visible strings emitted by the "git rebase" command; + they have been corrected. Will merge to 'next'. -* tz/branch-doc-remove-set-upstream (2017-11-17) 1 commit - - branch doc: remove --set-upstream from synopsis - - "git branch --set-upstream" has been deprecated and (sort of) - removed, as "--set-upstream-to" is the preferred one these days. - The documentation still had "--set-upstream" listed on its - synopsys section, which has been corrected. - - -* tz/complete-branch-copy (2017-11-17) 1 commit - - completion: add '--copy' option to 'git branch' +* sw/pull-ipv46-passthru (2017-11-21) 1 commit + - pull: pass -4/-6 option to 'git fetch' - Command line completion (in contrib/) has been taught about the - "--copy" option of "git branch". + Contrary to the documentation, "git pull -4/-4 other-args" did not + ask the underlying "git fetch" to go over IPv4/IPv6, which has been + corrected. Will merge to 'next'. -------------------------------------------------- [Stalled] -* jn/ssh-wrappers (2017-10-30) 6 commits - - fixup! ssh: 'auto' variant to select between 'ssh' and 'simple' - - ssh: 'simple' variant does not support --port - - ssh: 'simple' variant does not support -4/-6 - - ssh: 'auto' variant to select between 'ssh' and 'simple' - - connect: split ssh command line options into separate function - - connect: split git:// setup into a separate function - (this branch uses bw/protocol-v1.) - - The ssh-variant 'simple' introduced earlier broke existing - installations by not passing --port/-4/-6 and not diagnosing an - attempt to pass these as an error. Instead, default to - automatically detect how compatible the GIT_SSH/GIT_SSH_COMMAND is - to OpenSSH convention and then error out an invocation to make it - easier to diagnose connection errors. +* pw/sequencer-in-process-commit (2017-11-18) 9 commits + - SQUASH??? + - sequencer: try to commit without forking 'git commit' + - sequencer: load commit related config + - sequencer: simplify adding Signed-off-by: trailer + - commit: move print_commit_summary() to libgit + - commit: move post-rewrite code to libgit + - Add a function to update HEAD after creating a commit + - commit: move empty message checks to libgit + - t3404: check intermediate squash messages - Expecting a reroll. - cf. <20171025163243.xmm7szrkwgblpgcc@aiede.mtv.corp.google.com> + The sequencer infrastructure is shared across "git cherry-pick", + "git rebase -i", etc., and has always spawned "git commit" when it + needs to create a commit. It has been taught to do so internally, + when able, by reusing the codepath "git commit" itself uses, which + gives performance boost for a few tens of percents in some sample + scenarios. * jc/merge-symlink-ours-theirs (2017-09-26) 1 commit @@ -451,114 +304,188 @@ of the repositories listed at -------------------------------------------------- [Cooking] -* jc/branch-name-sanity (2017-11-15) 4 commits - - builtin/branch: remove redundant check for HEAD - - branch: correctly reject refs/heads/{-dash,HEAD} - - branch: split validate_new_branchname() into two - - branch: streamline "attr_only" handling in validate_new_branchname() +* jn/ssh-wrappers (2017-11-21) 9 commits + - connect: correct style of C-style comment + - ssh: 'simple' variant does not support --port + - ssh: 'simple' variant does not support -4/-6 + - ssh: 'auto' variant to select between 'ssh' and 'simple' + - connect: split ssh option computation to its own function + - connect: split ssh command line options into separate function + - connect: split git:// setup into a separate function + - connect: move no_fork fallback to git_tcp_connect + - ssh test: make copy_ssh_wrapper_as clean up after itself + (this branch uses bw/protocol-v1.) - "git branch" and "git checkout -b" are now forbidden from creating - a branch whose name is "HEAD". + The ssh-variant 'simple' introduced earlier broke existing + installations by not passing --port/-4/-6 and not diagnosing an + attempt to pass these as an error. Instead, default to + automatically detect how compatible the GIT_SSH/GIT_SSH_COMMAND is + to OpenSSH convention and then error out an invocation to make it + easier to diagnose connection errors. - Will merge to 'next'. +* rv/sendemail-tocmd-in-config-and-completion (2017-11-14) 2 commits + (merged to 'next' on 2017-11-20 at 75cf6e2fc3) + + completion: add git config sendemail.tocmd + + Documentation/config: add sendemail.tocmd to list preceding "See git-send-email(1)" -* ad/submitting-patches-title-decoration (2017-11-11) 1 commit - (merged to 'next' on 2017-11-15 at 99238c3537) - + doc/SubmittingPatches: correct subject guidance + Teach "sendemail.tocmd" to places that know about "sendemail.to", + like documentation and shell completion (in contrib/). + + Will merge to 'master'. - Doc update around use of "format-patch --subject-prefix" etc. + +* tz/notes-error-to-stderr (2017-11-15) 1 commit + (merged to 'next' on 2017-11-20 at a45d441ee2) + + notes: send "Automatic notes merge failed" messages to stderr + + "git notes" sent its error message to its standard output stream, + which was corrected. Will merge to 'master'. -* jc/merge-base-fork-point-doc (2017-11-09) 1 commit - - merge-base --fork-point doc: clarify the example and failure modes +* hm/config-parse-expiry-date (2017-11-18) 1 commit + - config: add --expiry-date - Clarify and enhance documentation for "merge-base --fork-point", as - it was clear what it computed but not why/what for. + "git config --expiry-date gc.reflogexpire" can read "2.weeks" from + the configuration and report it as a timestamp, just like "--int" + would read "1k" and report 1024, to help consumption by scripts. - Will merge to 'next'. +* sd/branch-copy (2017-11-16) 1 commit + (merged to 'next' on 2017-11-20 at e33bcc460a) + + config: avoid "write_in_full(fd, buf, len) != len" pattern -* bp/fastindex (2017-11-11) 5 commits - - SQUASH??? - - fastindex: add documentation for the fastindex extension - - fastindex: add test tools and a test script - - update-index: add fastindex support to update-index - - fastindex: speed up index load through parallelization + Code clean-up. + Will merge to 'master'. -* pw/sequencer-in-process-commit (2017-11-11) 10 commits - - SQUASH??? styles - - sequencer: try to commit without forking 'git commit' - - sequencer: load commit related config - - sequencer: simplify adding Signed-off-by: trailer - - sequencer: don't die in print_commit_summary() - - commit: move print_commit_summary() to libgit - - commit: move post-rewrite code to libgit - - Add a function to update HEAD after creating a commit - - commit: move empty message checks to libgit - - t3404: check intermediate squash messages - The sequencer infrastructure is shared across "git cherry-pick", - "git rebase -i", etc., and has always spawned "git commit" when it - needs to create a commit. It has been taught to do so internally, - when able, by reusing the codepath "git commit" itself uses. +* pw/sequencer-recover-from-unlockable-index (2017-11-16) 1 commit + (merged to 'next' on 2017-11-20 at 36f0ed26ce) + + sequencer: reschedule pick if index can't be locked - This looked more or less ready. + The sequencer machinery (used by "git cherry-pick A..B", and "git + rebase -i", among other things) would have lost a commit if stopped + due to an unlockable index file, which has been fixed. + Will merge to 'master'. -* rs/apply-fuzzy-match-fix (2017-11-12) 1 commit - (merged to 'next' on 2017-11-15 at 2d724fa63b) - + apply: avoid out-of-bounds access in fuzzy_matchlines() - A fix for an ancient bug in "git apply --ignore-space-change" codepath. +* dj/runtime-prefix (2017-11-20) 1 commit + - exec_cmd: RUNTIME_PREFIX on some POSIX systems + + A build-time option has been added to allow Git to be told to refer + to its associated files relative to the main binary, in the same + way that has been possible on Windows for quite some time, for + Linux, BSDs and Darwin. + + +* jc/editor-waiting-message (2017-11-17) 1 commit + - launch_editor(): indicate that Git waits for user input + + Git shows a message to tell the user that it is waiting for the + user to finish editing when spawning an editor, in case the editor + opens to a hidden window or somewhere obscure and the user gets + lost. + + +* rs/apply-inaccurate-eof-with-incomplete-line (2017-11-17) 1 commit + (merged to 'next' on 2017-11-20 at c8aee1d135) + + apply: update line lengths for --inaccurate-eof + + "git apply --inaccurate-eof" when used with "--ignore-space-change" + triggered an internal sanity check, which has been fixed. + + Will merge to 'master'. + + +* tz/branch-doc-remove-set-upstream (2017-11-17) 1 commit + - branch doc: remove --set-upstream from synopsis + + "git branch --set-upstream" has been deprecated and (sort of) + removed, as "--set-upstream-to" is the preferred one these days. + The documentation still had "--set-upstream" listed on its + synopsys section, which has been corrected. + + +* tz/complete-branch-copy (2017-11-17) 1 commit + (merged to 'next' on 2017-11-20 at 6d22384fcd) + + completion: add '--copy' option to 'git branch' + + Command line completion (in contrib/) has been taught about the + "--copy" option of "git branch". + + Will merge to 'master'. + + +* jc/branch-name-sanity (2017-11-15) 4 commits + (merged to 'next' on 2017-11-20 at 7236b0dde3) + + builtin/branch: remove redundant check for HEAD + + branch: correctly reject refs/heads/{-dash,HEAD} + + branch: split validate_new_branchname() into two + + branch: streamline "attr_only" handling in validate_new_branchname() + + "git branch" and "git checkout -b" are now forbidden from creating + a branch whose name is "HEAD". + + Will merge to 'master'. + + +* jc/merge-base-fork-point-doc (2017-11-09) 1 commit + (merged to 'next' on 2017-11-20 at 199b9255b4) + + merge-base --fork-point doc: clarify the example and failure modes + + Clarify and enhance documentation for "merge-base --fork-point", as + it was clear what it computed but not why/what for. Will merge to 'master'. * sb/test-cherry-pick-submodule-getting-in-a-way (2017-11-15) 2 commits - - merge-recursive: handle addition of submodule on our side of history - - t/3512: demonstrate unrelated submodule/file conflict as cherry-pick failure + (merged to 'next' on 2017-11-20 at fe7016689e) + + merge-recursive: handle addition of submodule on our side of history + + t/3512: demonstrate unrelated submodule/file conflict as cherry-pick failure The three-way merge performed by "git cherry-pick" was confused when a new submodule was added in the meantime, which has been fixed (or "papered over"). - Will merge to 'next'. + Will merge to 'master'. * en/rename-progress (2017-11-15) 4 commits - - sequencer: show rename progress during cherry picks - - diff: remove silent clamp of renameLimit - - progress: fix progress meters when dealing with lots of work - - sequencer: warn when internal merge may be suboptimal due to renameLimit + (merged to 'next' on 2017-11-20 at 77a2e0ddd9) + + sequencer: show rename progress during cherry picks + + diff: remove silent clamp of renameLimit + + progress: fix progress meters when dealing with lots of work + + sequencer: warn when internal merge may be suboptimal due to renameLimit Historically, the diff machinery for rename detection had a hardcoded limit of 32k paths; this is being lifted to allow users trade cycles with a (possibly) easier to read result. - Will merge to 'next'. + Will merge to 'master'. * tz/redirect-fix (2017-11-14) 2 commits - - rebase: fix stderr redirect in apply_autostash() - - t/lib-gpg: fix gpgconf stderr redirect to /dev/null + (merged to 'next' on 2017-11-20 at 5b13f7026e) + + rebase: fix stderr redirect in apply_autostash() + + t/lib-gpg: fix gpgconf stderr redirect to /dev/null A few scripts (both in production and tests) incorrectly redirected their error output. These have been corrected. - Will merge to 'next'. + Will merge to 'master'. -* ar/unconfuse-three-dots (2017-11-14) 6 commits +* ar/unconfuse-three-dots (2017-11-20) 5 commits - Testing: provide tests requiring them with ellipses after SHA-1 values - Documentation: revisions: fix typo: "three dot" ---> "three-dot" (in line with "two-dot"). - Documentation: user-manual: limit usage of ellipsis - diff: diff_aligned_abbrev: remove ellipsis after abbreviated SHA-1 value - checkout: describe_detached_head: remove ellipsis after committish - - config: introduce core.printsha1ellipsis Ancient part of codebase still shows dots after an abbreviated object name just to show that it is not a full object name, but @@ -630,57 +557,14 @@ of the repositories listed at * tb/add-renormalize (2017-11-17) 1 commit - - add: introduce "--renormalize" + (merged to 'next' on 2017-11-20 at e302f3591f) + + add: introduce "--renormalize" "git add --renormalize ." is a new and safer way to record the fact that you are correcting the end-of-line convention and other "convert_to_git()" glitches in the in-repository data. - Will merge to 'next'. - - -* av/fsmonitor (2017-11-13) 7 commits - (merged to 'next' on 2017-11-13 at db56ad7eef) - + fsmonitor: simplify determining the git worktree under Windows - + fsmonitor: store fsmonitor bitmap before splitting index - + fsmonitor: read from getcwd(), not the PWD environment variable - (merged to 'next' on 2017-11-07 at a06178754d) - + fsmonitor: delay updating state until after split index is merged - + fsmonitor: document GIT_TRACE_FSMONITOR - + fsmonitor: don't bother pretty-printing JSON from watchman - + fsmonitor: set the PWD to the top of the working tree - (this branch uses bp/fsmonitor.) - - Various fixes to bp/fsmonitor topic. - - Waiting for follow-on fixes to settle. - - -* bp/fsmonitor (2017-10-05) 15 commits - (merged to 'next' on 2017-11-07 at b08d44ba60) - + fsmonitor: preserve utf8 filenames in fsmonitor-watchman log - + fsmonitor: read entirety of watchman output - + fsmonitor: MINGW support for watchman integration - + fsmonitor: add a performance test - + fsmonitor: add a sample integration script for Watchman - + fsmonitor: add test cases for fsmonitor extension - + split-index: disable the fsmonitor extension when running the split index test - + fsmonitor: add a test tool to dump the index extension - + update-index: add fsmonitor support to update-index - + ls-files: Add support in ls-files to display the fsmonitor valid bit - + fsmonitor: add documentation for the fsmonitor extension. - + fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files. - + update-index: add a new --force-write-index option - + preload-index: add override to enable testing preload-index - + bswap: add 64 bit endianness helper get_be64 - (this branch is used by av/fsmonitor.) - - Originally merged to 'next' on 2017-10-05 - - We learned to talk to watchman to speed up "git status" and other - operations that need to see which paths have been modified. - - Waiting for follow-on fixes to settle. + Will merge to 'master'. * pb/bisect-helper-2 (2017-10-28) 8 commits @@ -698,13 +582,14 @@ of the repositories listed at * jc/ignore-cr-at-eol (2017-11-08) 2 commits - - diff: --ignore-cr-at-eol - - xdiff: reassign xpparm_t.flags bits + (merged to 'next' on 2017-11-20 at 9f7bae7cbd) + + diff: --ignore-cr-at-eol + + xdiff: reassign xpparm_t.flags bits The "diff" family of commands learned to ignore differences in carriage return at the end of line. - Will merge to 'next'. + Will merge to 'master'. * ot/mru-on-list (2017-10-01) 1 commit @@ -826,3 +711,13 @@ of the repositories listed at outside the context of "sparse checkout". Now part of jh/object-filtering topic. + + +* bp/fastindex (2017-11-11) 5 commits + . SQUASH??? + . fastindex: add documentation for the fastindex extension + . fastindex: add test tools and a test script + . update-index: add fastindex support to update-index + . fastindex: speed up index load through parallelization + + Retracted for now. -- 2.47.3