What's cooking (2017/11 #06)

This commit is contained in:
Junio C Hamano
2017-11-21 14:35:53 +09:00
parent 350ca327b0
commit 025e42b9ca

View File

@@ -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.<name>.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()
Error checking in "git imap-send" for empty response has been
improved.
* 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()
Code cleanup.
* 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.
* 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
Some error messages did not quote filenames shown in it, which have
been fixed.
* 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
Replace the mailing address of FSF to a URL, as FSF prefers.
* ad/submitting-patches-title-decoration (2017-11-11) 1 commit
(merged to 'next' on 2017-11-15 at 99238c3537)
+ doc/SubmittingPatches: correct subject guidance
Doc update around use of "format-patch --subject-prefix" etc.
* 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.
* 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.
--------------------------------------------------
[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)"
* 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
Teach "sendemail.tocmd" to places that know about "sendemail.to",
like documentation and shell completion (in contrib/).
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.
Will merge to 'master'.
* 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()
There was a recent semantic mismerge in the codepath to write out a
section of a configuration section, which has been corrected.
Will merge to 'master'.
* 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
"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'.
* tz/notes-error-to-stderr (2017-11-15) 1 commit
- notes: send "Automatic notes merge failed" messages to stderr
* 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
"git notes" sent its error message to its standard output stream,
which was corrected.
"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'.
* hm/config-parse-expiry-date (2017-11-16) 1 commit
- config: add --expiry-date
* 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
"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.
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.
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.
* sd/branch-copy (2017-11-16) 1 commit
- config: avoid "write_in_full(fd, buf, len) != len" pattern
* ks/rebase-no-git-foo (2017-11-21) 1 commit
- git-rebase: clean up dashed-usages in messages
Code clean-up.
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'.
* pw/sequencer-recover-from-unlockable-index (2017-11-16) 1 commit
- sequencer: reschedule pick if index can't be locked
* sw/pull-ipv46-passthru (2017-11-21) 1 commit
- pull: pass -4/-6 option to 'git fetch'
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 'next'.
* dj/runtime-prefix (2017-11-17) 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
- 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 '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'
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.)
* 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
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.
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]
* 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.)
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.
* 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)"
Teach "sendemail.tocmd" to places that know about "sendemail.to",
like documentation and shell completion (in contrib/).
Will merge to 'master'.
* 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'.
* hm/config-parse-expiry-date (2017-11-18) 1 commit
- config: add --expiry-date
"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.
* 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
Code clean-up.
Will merge to 'master'.
* 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
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'.
* 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
- 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()
(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 'next'.
* ad/submitting-patches-title-decoration (2017-11-11) 1 commit
(merged to 'next' on 2017-11-15 at 99238c3537)
+ doc/SubmittingPatches: correct subject guidance
Doc update around use of "format-patch --subject-prefix" etc.
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
(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 'next'.
* 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
* 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.
This looked more or less ready.
* 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.
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.