summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2019-12-05 22:33:37 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-12-05 22:35:44 (GMT)
commit30a9c26739772d5e224f635e7f705dc30ecbedb7 (patch)
tree622f17c5a856ee223f7d83fd8ec78025d5d8733d
parent86559a5ed775f2dd21cb86491fba72d7013719e2 (diff)
downloadgit-30a9c26739772d5e224f635e7f705dc30ecbedb7.zip
git-30a9c26739772d5e224f635e7f705dc30ecbedb7.tar.gz
git-30a9c26739772d5e224f635e7f705dc30ecbedb7.tar.bz2
What's cooking (2019/12 #02)
-rw-r--r--whats-cooking.txt1141
1 files changed, 401 insertions, 740 deletions
diff --git a/whats-cooking.txt b/whats-cooking.txt
index 2845e3e..ee63b91 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 (Dec 2019, #01; Mon, 2)
-X-master-at: 228f53135a4a41a37b6be8e4d6e2b6153db4a8ed
-X-next-at: e41a19f04e19db375f8e58b74c6cb9d3a1495be5
+Subject: What's cooking in git.git (Dec 2019, #02; Thu, 5)
+X-master-at: 083378cc35c4dbcc607e4cdd24a5fca440163d17
+X-next-at: f85fac6f6eedeb72469441dac97a7b59b027bf1f
-What's cooking in git.git (Dec 2019, #01; Mon, 2)
+What's cooking in git.git (Dec 2019, #02; Thu, 5)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with
@@ -12,10 +12,7 @@ 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 second batch of topics are now in 'master'; this was a rather
-large update, so there might be some fallout. Many topics are still
-in 'next' to be merged to 'master' soonish, and many others are
-waiting to be in 'next'.
+The third batch of topics are now in 'master'.
You can find the changes described here in the integration branches
of the repositories listed at
@@ -25,417 +22,426 @@ of the repositories listed at
--------------------------------------------------
[Graduated to "master"]
-* ar/install-doc-update-cmds-needing-the-shell (2019-11-15) 1 commit
- (merged to 'next' on 2019-11-19 at 216468eb98)
- + INSTALL: use existing shell scripts as example
+* dd/rebase-merge-reserves-onto-label (2019-11-20) 1 commit
+ (merged to 'next' on 2019-11-21 at a6e4e5af0a)
+ + sequencer: handle rebase-merges for "onto" message
+ (this branch uses js/rebase-r-safer-label.)
- Doc update.
+ The logic to avoid duplicate label names generated by "git rebase
+ --rebase-merges" forgot that the machinery itself uses "onto" as a
+ label name, which must be avoided by auto-generated labels, which
+ has been corrected.
-* cb/curl-use-xmalloc (2019-11-07) 1 commit
- (merged to 'next' on 2019-11-19 at 1c587d0775)
- + remote-curl: unbreak http.extraHeader with custom allocators
+* dl/range-diff-with-notes (2019-11-21) 10 commits
+ (merged to 'next' on 2019-11-25 at dd6dad97c1)
+ + format-patch: pass notes configuration to range-diff
+ + range-diff: pass through --notes to `git log`
+ + range-diff: output `## Notes ##` header
+ + t3206: range-diff compares logs with commit notes
+ + t3206: s/expected/expect/
+ + t3206: disable parameter substitution in heredoc
+ + t3206: remove spaces after redirect operators
+ + pretty-options.txt: --notes accepts a ref instead of treeish
+ + rev-list-options.txt: remove reference to --show-notes
+ + argv-array: add space after `while`
- HTTP transport had possible allocator/deallocator mismatch, which
- has been corrected.
+ "git range-diff" learned to take the "--notes=<ref>" and the
+ "--no-notes" options to control the commit notes included in the
+ log message that gets compared.
-* dd/sequencer-utf8 (2019-11-11) 8 commits
- (merged to 'next' on 2019-11-19 at 9432ddc32c)
- + sequencer: reencode commit message for am/rebase --show-current-patch
- + sequencer: reencode old merge-commit message
- + sequencer: reencode squashing commit's message
- + sequencer: reencode revert/cherry-pick's todo list
- + sequencer: reencode to utf-8 before arrange rebase's todo list
- + t3900: demonstrate git-rebase problem with multi encoding
- + configure.ac: define ICONV_OMITS_BOM if necessary
- + t0028: eliminate non-standard usage of printf
+* dl/t5520-cleanup (2019-11-21) 15 commits
+ (merged to 'next' on 2019-11-27 at 523d920acf)
+ + t5520: replace `! git` with `test_must_fail git`
+ + t5520: remove redundant lines in test cases
+ + t5520: replace $(cat ...) comparison with test_cmp
+ + t5520: don't put git in upstream of pipe
+ + t5520: test single-line files by git with test_cmp
+ + t5520: use test_cmp_rev where possible
+ + t5520: replace test -{n,z} with test-lib functions
+ + t5520: use test_line_count where possible
+ + t5520: remove spaces after redirect operator
+ + t5520: replace test -f with test-lib functions
+ + t5520: let sed open its own input
+ + t5520: use sq for test case names
+ + t5520: improve test style
+ + t: teach test_cmp_rev to accept ! for not-equals
+ + t0000: test multiple local assignment
- Handling of commit objects that use non UTF-8 encoding during
- "rebase -i" has been improved.
+ Test cleanup.
-* dj/typofix-merge-strat (2019-11-11) 1 commit
- (merged to 'next' on 2019-11-19 at 5b6c0cf125)
- + merge-strategies: fix typo "reflected to" to "reflected in"
+* ec/fetch-mark-common-refs-trace2 (2019-11-20) 1 commit
+ (merged to 'next' on 2019-11-25 at c2b8e1546c)
+ + fetch: add trace2 instrumentation
- Typofix.
+ Trace2 annotation.
-* dl/complete-rebase-onto (2019-11-12) 1 commit
- (merged to 'next' on 2019-11-19 at ba53946a3b)
- + completion: learn to complete `git rebase --onto=`
+* ep/guard-kset-tar-headers (2019-11-07) 1 commit
+ (merged to 'next' on 2019-11-21 at 6c9574b01d)
+ + kset.h, tar.h: add missing header guard to prevent multiple inclusion
- The completion script (in contrib/) learned that the "--onto"
- option of "git rebase" can take its argument as the value of the
- option.
+ Code clean-up.
-* dl/doc-diff-no-index-implies-exit-code (2019-11-02) 1 commit
- (merged to 'next' on 2019-11-19 at e2b2181e28)
- + git-diff.txt: document return code of `--no-index`
+* hi/gpg-optional-pkfp-fix (2019-11-23) 2 commits
+ (merged to 'next' on 2019-11-25 at b0d668176f)
+ + gpg-interface: limit search for primary key fingerprint
+ + gpg-interface: refactor the free-and-xmemdupz pattern
+ (this branch is used by hi/gpg-use-check-signature.)
- Doc update.
+ The code to parse GPG output used to assume incorrectly that the
+ finterprint for the primary key would always be present for a valid
+ signature, which has been corrected.
-* ds/test-read-graph (2019-11-13) 1 commit
- (merged to 'next' on 2019-11-19 at 80152fc082)
- + test-tool: use 'read-graph' helper
+* hv/assume-priumax-is-available-anywhere (2019-11-25) 1 commit
+ (merged to 'next' on 2019-11-27 at caac4f633d)
+ + git-compat-util.h: drop the `PRIuMAX` and other fallback definitions
- Dev support for commit-graph feature.
-
-
-* en/doc-typofix (2019-11-10) 10 commits
- (merged to 'next' on 2019-11-19 at e7bfe50de5)
- + Fix spelling errors in no-longer-updated-from-upstream modules
- + multimail: fix a few simple spelling errors
- + sha1dc: fix trivial comment spelling error
- + Fix spelling errors in test commands
- + Fix spelling errors in messages shown to users
- + Fix spelling errors in names of tests
- + Fix spelling errors in comments of testcases
- + Fix spelling errors in code comments
- + Fix spelling errors in documentation outside of Documentation/
- + Documentation: fix a bunch of typos, both old and new
+ We have had compatibility fallback macro definitions for "PRIuMAX",
+ "PRIu32", etc. but did not for "PRIdMAX", while the code used the
+ last one apparently without any hiccup reported recently. The
+ fallback macro definitions for these <inttypes.h> macros that must
+ appear in C99 systems have been removed.
- Docfix.
-
-
-* en/misc-doc-fixes (2019-11-07) 3 commits
- (merged to 'next' on 2019-11-19 at 7222cf3720)
- + name-hash.c: remove duplicate word in comment
- + hashmap: fix documentation misuses of -> versus .
- + git-filter-branch.txt: correct argument name typo
- Misc doc fixes.
+* jc/azure-ci-osx-fix-fix (2019-11-20) 1 commit
+ (merged to 'next' on 2019-11-25 at 7de6356e67)
+ + ci(osx): update homebrew-cask repository with less noise
+ CI jobs for macOS has been made less chatty when updating perforce
+ package used during testing.
-* en/t6024-style (2019-11-07) 1 commit
- (merged to 'next' on 2019-11-19 at b41c2ed21b)
- + t6024: modernize style
- Test updates.
+* jh/userdiff-python-async (2019-11-20) 1 commit
+ (merged to 'next' on 2019-11-25 at 74e4a4ed9f)
+ + userdiff: support Python async functions
+ The userdiff machinery has been taught that "async def" is another
+ way to begin a "function" in Python.
-* es/myfirstcontrib-updates (2019-11-02) 3 commits
- (merged to 'next' on 2019-11-19 at 41d70e1db4)
- + myfirstcontrib: hint to find gitgitgadget allower
- + myfirstcontrib: add dependency installation step
- + myfirstcontrib: add 'psuh' to command-list.txt
- Doc updates.
+* jk/fail-show-toplevel-outside-working-tree (2019-11-20) 1 commit
+ (merged to 'next' on 2019-11-25 at cd97ae38bc)
+ + rev-parse: make --show-toplevel without a worktree an error
+ "git rev-parse --show-toplevel" run outside of any working tree did
+ not error out, which has been corrected.
-* hw/config-doc-in-header (2019-10-24) 1 commit
- (merged to 'next' on 2019-11-19 at 7f314c649e)
- + config: move documentation to config.h
- Follow recent push to move API docs from Documentation/ to header
- files and update config.h
+* js/builtin-add-i (2019-11-18) 9 commits
+ (merged to 'next' on 2019-11-21 at caefa55b89)
+ + built-in add -i: implement the `help` command
+ + built-in add -i: use color in the main loop
+ + built-in add -i: support `?` (prompt help)
+ + built-in add -i: show unique prefixes of the commands
+ + built-in add -i: implement the main loop
+ + built-in add -i: color the header in the `status` command
+ + built-in add -i: implement the `status` command
+ + diff: export diffstat interface
+ + Start to implement a built-in version of `git add --interactive`
+ (this branch is used by js/builtin-add-i-cmds.)
+ The beginning of rewriting "git add -i" in C.
-* jc/fsmonitor-sanity-fix (2019-11-13) 1 commit
- (merged to 'next' on 2019-11-19 at 1fceb9b55b)
- + fsmonitor: do not compare bitmap size with size of split index
- (this branch is used by us/unpack-trees-fsmonitor.)
- Remove an incorrect BUG() that should not trigger.
+* js/git-svn-use-rebase-merges (2019-11-23) 1 commit
+ (merged to 'next' on 2019-11-25 at 9585fe30f8)
+ + git svn: stop using `rebase --preserve-merges`
+ Prepare further for "rebase --preserve-merges" deprecation.
-* jc/log-graph-simplify (2019-11-13) 14 commits
- (merged to 'next' on 2019-11-19 at de6360c648)
- + t4215: use helper function to check output
- (merged to 'next' on 2019-11-10 at 79d2b8ff98)
- + graph: fix coloring of octopus dashes
- + graph: flatten edges that fuse with their right neighbor
- + graph: smooth appearance of collapsing edges on commit lines
- + graph: rename `new_mapping` to `old_mapping`
- + graph: commit and post-merge lines for left-skewed merges
- + graph: tidy up display of left-skewed merges
- + graph: example of graph output that can be simplified
- + graph: extract logic for moving to GRAPH_PRE_COMMIT state
- + graph: remove `mapping_idx` and `graph_update_width()`
- + graph: reduce duplication in `graph_insert_into_new_columns()`
- + graph: reuse `find_new_column_by_commit()`
- + graph: handle line padding in `graph_next_line()`
- + graph: automatically track display width of graph lines
- The implementation of "git log --graph" got refactored and then its
- output got simplified.
+* js/pkt-line-h-typofix (2019-12-02) 1 commit
+ (merged to 'next' on 2019-12-02 at 8f36a354ae)
+ + pkt-line: fix a typo
+ Typofix.
-* jk/cleanup-object-parsing-and-fsck (2019-10-28) 23 commits
- (merged to 'next' on 2019-11-10 at 50b2267a2a)
- + fsck: accept an oid instead of a "struct tree" for fsck_tree()
- + fsck: accept an oid instead of a "struct commit" for fsck_commit()
- + fsck: accept an oid instead of a "struct tag" for fsck_tag()
- + fsck: rename vague "oid" local variables
- + fsck: don't require an object struct in verify_headers()
- + fsck: don't require an object struct for fsck_ident()
- + fsck: drop blob struct from fsck_finish()
- + fsck: accept an oid instead of a "struct blob" for fsck_blob()
- + fsck: don't require an object struct for report()
- + fsck: only require an oid for skiplist functions
- + fsck: only provide oid/type in fsck_error callback
- + fsck: don't require object structs for display functions
- + fsck: use oids rather than objects for object_name API
- + fsck_describe_object(): build on our get_object_name() primitive
- + fsck: unify object-name code
- + fsck: require an actual buffer for non-blobs
- + fsck: stop checking tag->tagged
- + fsck: stop checking commit->parent counts
- + fsck: stop checking commit->tree value
- + commit, tag: don't set parsed bit for parse failures
- + parse_tag_buffer(): treat NULL tag pointer as parse error
- + parse_commit_buffer(): treat lookup_tree() failure as parse error
- + parse_commit_buffer(): treat lookup_commit() failure as parse error
-
- Originally merged to 'next' on 2019-10-30
-
- Crufty code and logic accumulated over time around the object
- parsing and low-level object access used in "git fsck" have been
- cleaned up.
+* js/rebase-r-safer-label (2019-11-18) 2 commits
+ (merged to 'next' on 2019-11-21 at 791d51b0d7)
+ + rebase -r: let `label` generate safer labels
+ + rebase-merges: move labels' whitespace mangling into `label_oid()`
+ (this branch is used by dd/rebase-merge-reserves-onto-label.)
-* jk/gitweb-anti-xss (2019-11-18) 4 commits
- (merged to 'next' on 2019-11-19 at 69ef04c013)
- + gitweb: escape URLs generated by href()
- + t/gitweb-lib.sh: set $REQUEST_URI
- + t/gitweb-lib.sh: drop confusing quotes
- + t9502: pass along all arguments in xss helper
-
- Some codepaths in "gitweb" that forgot to escape URLs generated
- based on end-user input have been corrected.
+ A label used in the todo list that are generated by "git rebase
+ --rebase-merges" is used as a part of a refname; the logic to come
+ up with the label has been tightened to avoid names that cannot be
+ used as such.
-* jk/optim-in-pack-idx-conversion (2019-11-12) 1 commit
- (merged to 'next' on 2019-11-19 at a81ebc7b8d)
- + pack-objects: avoid pointless oe_map_new_pack() calls
-
- Code clean-up.
+* mg/doc-submodule-status-cached (2019-11-24) 1 commit
+ (merged to 'next' on 2019-11-25 at fa833392a3)
+ + doc: document 'git submodule status --cached'
+
+ "git submodule status" and "git submodule status --cached" show
+ different things, but the documentation did not cover them
+ correctly, which has been corrected.
-* jk/remove-sha1-to-hex (2019-11-13) 2 commits
- (merged to 'next' on 2019-11-19 at fb68824870)
- + hex: drop sha1_to_hex()
- + hex: drop sha1_to_hex_r()
+* mg/submodule-status-from-a-subdirectory (2019-11-25) 1 commit
+ (merged to 'next' on 2019-11-27 at 24cb2d79ff)
+ + submodule: fix 'submodule status' when called from a subdirectory
- Code clean-up.
+ "git submodule status" that is run from a subdirectory of the
+ superproject did not work well, which has been corrected.
-* jk/send-pack-remote-failure (2019-11-13) 1 commit
- (merged to 'next' on 2019-11-19 at d02c0107ee)
- + send-pack: check remote ref status on pack-objects failure
+* mh/clear-topo-walk-upon-reset (2019-11-25) 2 commits
+ (merged to 'next' on 2019-11-27 at 15871c1c2a)
+ + revision: free topo_walk_info before creating a new one in init_topo_walk
+ + revision: clear the topo-walk flags in reset_revision_walk
- Error handling after "git push" finishes sending the packdata and
- waits for the response to the remote side has been improved.
+ The revision walking machinery uses resources like per-object flag
+ bits that need to be reset before a new iteration of walking
+ begins, but the resources related to topological walk were not
+ cleared correctly, which has been corrected.
-* js/complete-svn-recursive (2019-11-13) 1 commit
- (merged to 'next' on 2019-11-19 at fa2a97911c)
- + completion: tab-complete "git svn --recursive"
+* nl/reset-patch-takes-a-tree (2019-11-25) 1 commit
+ (merged to 'next' on 2019-11-25 at 34dc348eaf)
+ + reset: parse rev as tree-ish in patch mode
- The completion script (in contrib/) has been taught that "git svn"
- supports the "--recursive" option.
+ "git reset --patch $object" without any pathspec should allow a
+ tree object to be given, but incorrectly required a committish,
+ which has been corrected.
-* js/fetch-multi-lockfix (2019-11-06) 2 commits
- (merged to 'next' on 2019-11-19 at b9683b7ec9)
- + fetch: avoid locking issues between fetch.jobs/fetch.writeCommitGraph
- + fetch: add the command-line option `--write-commit-graph`
+* pb/submodule-update-fetches (2019-11-24) 1 commit
+ (merged to 'next' on 2019-11-25 at 7736f98351)
+ + doc: mention that 'git submodule update' fetches missing commits
- Fetching from multiple remotes into the same repository in parallel
- had a bad interaction with the recent change to (optionally) update
- the commit-graph after a fetch job finishes, as these parallel
- fetches compete with each other. Which has been corrected.
+ Doc update.
-* js/git-path-head-dot-lock-fix (2019-10-29) 2 commits
- (merged to 'next' on 2019-11-19 at b406944979)
- + git_path(): handle `.lock` files correctly
- + t1400: wrap setup code in test case
+* pw/sequencer-compare-with-right-parent-to-check-empty-commits (2019-11-23) 1 commit
+ (merged to 'next' on 2019-11-25 at a4e4f06286)
+ + sequencer: fix empty commit check when amending
+
+ The sequencer machinery compared the HEAD and the state it is
+ attempting to commit to decide if the result would be a no-op
+ commit, even when amending a commit, which was incorrect, and
+ has been corrected.
- "git rev-parse --git-path HEAD.lock" did not give the right path
- when run in a secondary worktree.
+* sg/test-bool-env (2019-11-23) 2 commits
+ (merged to 'next' on 2019-11-27 at e1874e422f)
+ + t5608-clone-2gb.sh: turn GIT_TEST_CLONE_2GB into a bool
+ + tests: add 'test_bool_env' to catch non-bool GIT_TEST_* values
-* js/vreportf-wo-buffering (2019-11-02) 1 commit
- (merged to 'next' on 2019-11-19 at cae61b9899)
- + vreportf(): avoid relying on stdio buffering
+ Recently we have declared that GIT_TEST_* variables take the
+ usual boolean values (it used to be that some used "non-empty
+ means true" and taking GIT_TEST_VAR=YesPlease as true); make
+ sure we notice and fail when non-bool strings are given to
+ these variables.
- Messages from die() etc. can be mixed up from multiple processes
- without even line buffering on Windows, which has been worked
- around.
+* sg/unpack-progress-throughput (2019-11-20) 1 commit
+ (merged to 'next' on 2019-11-25 at 0418db6a27)
+ + builtin/unpack-objects.c: show throughput progress
-* jt/fetch-remove-lazy-fetch-plugging (2019-11-13) 3 commits
- (merged to 'next' on 2019-11-19 at 1b26c28dcd)
- + promisor-remote: remove fetch_if_missing=0
- + clone: remove fetch_if_missing=0
- + fetch: remove fetch_if_missing=0
+ "git unpack-objects" used to show progress based only on the number
+ of received and unpacked objects, which stalled when it has to
+ handle an unusually large object. It now shows the throughput as
+ well.
- "git fetch" codepath had a big "do not lazily fetch missing objects
- when I ask if something exists" switch. This has been corrected by
- marking the "does this thing exist?" calls with "if not please do not
- lazily fetch it" flag.
+* us/unpack-trees-fsmonitor (2019-11-21) 1 commit
+ (merged to 'next' on 2019-11-27 at 4c06f74957)
+ + unpack-trees: skip stat on fsmonitor-valid files
-* kw/fsmonitor-watchman-fix (2019-11-06) 1 commit
- (merged to 'next' on 2019-11-19 at ee786a5c39)
- + fsmonitor: fix watchman integration
+ Users of oneway_merge() (like "reset --hard") learned to take
+ advantage of fsmonitor to avoid unnecessary lstat(2) calls.
- The watchman integration for fsmonitor was racy, which has been
- corrected to be more conservative.
+--------------------------------------------------
+[New Topics]
+* am/pathspec-f-f-checkout (2019-12-04) 7 commits
+ - checkout, restore: support the --pathspec-from-file option
+ - doc: restore: synchronize <pathspec> description
+ - doc: checkout: synchronize <pathspec> description
+ - doc: checkout: fix broken text reference
+ - doc: checkout: remove duplicate synopsis
+ - add: support the --pathspec-from-file option
+ - cmd_add: prepare for next patch
+ (this branch uses am/pathspec-from-file; is tangled with es/pathspec-f-f-grep.)
+
+ A few more commands learned the "--pathspec-from-file" command line
+ option.
-* ln/userdiff-elixir (2019-11-10) 1 commit
- (merged to 'next' on 2019-11-19 at 6318918ba8)
- + userdiff: add Elixir to supported userdiff languages
+ Will merge to 'next'.
- The patterns to detect function boundary for Elixir language has
- been added.
+* dl/lore-is-the-archive (2019-12-04) 3 commits
+ (merged to 'next' on 2019-12-05 at c87e168cd6)
+ + doc: replace LKML link with lore.kernel.org
+ + RelNotes: replace Gmane with real Message-IDs
+ + doc: replace MARC links with lore.kernel.org
+ (this branch uses jk/lore-is-the-archive.)
-* ma/bisect-doc-sample-update (2019-10-29) 1 commit
- (merged to 'next' on 2019-11-19 at bde6adce1b)
- + Documentation/git-bisect.txt: add --no-ff to merge command
+ Publicize lore.kernel.org mailing list archive and use URLs
+ pointing into it to refer to notable messages in the documentation.
- "git merge --no-commit" needs "--no-ff" if you do not want to move
- HEAD, which has been corrected in the manual page for "git bisect".
+ Will merge to 'master'.
-* ma/t7004 (2019-11-14) 1 commit
- (merged to 'next' on 2019-11-19 at 789a0a0f05)
- + t7004: check existence of correct tag
+* dl/rebase-with-autobase (2019-12-05) 5 commits
+ - rebase: fix format.useAutoBase breakage
+ - format-patch: teach --no-base
+ - t4014: use test_config()
+ - format-patch: fix indentation
+ - t3400: demonstrate failure with format.useAutoBase
- Test fix.
+ "git rebase" did not work well when format.useAutoBase
+ configuration variable is set, which has been corrected.
+ Will merge to 'next'.
-* mr/clone-dir-exists-to-path-exists (2019-10-29) 1 commit
- (merged to 'next' on 2019-11-19 at 07b6ab25de)
- + clone: rename static function `dir_exists()`.
- Code cleanup.
+* es/pathspec-f-f-grep (2019-12-04) 1 commit
+ - grep: support the --pathspec-from-file option
+ (this branch uses am/pathspec-from-file; is tangled with am/pathspec-f-f-checkout.)
+ "git grep" learned the "--pathspec-from-file" command line
+ option.
-* nn/doc-rebase-merges (2019-11-12) 1 commit
- (merged to 'next' on 2019-11-19 at db74ff488c)
- + doc: improve readability of --rebase-merges in git-rebase
+ Waiting for review response.
- Doc update.
+* rs/xdiff-ignore-ws-w-func-context (2019-12-05) 1 commit
+ - xdiff: unignore changes in function context
-* ns/test-desc-typofix (2019-11-07) 1 commit
- (merged to 'next' on 2019-11-19 at 804861f385)
- + t: fix typo in test descriptions
+ The "diff" machinery learned not to lose added/removed blank lines
+ in the context when --ignore-blank-lines and --function-context are
+ used at the same time.
- Typofix.
+ Will merge to 'next'.
-* pb/help-list-gitsubmodules-among-guides (2019-10-29) 1 commit
- (merged to 'next' on 2019-11-19 at 3c6f5c1901)
- + help: add gitsubmodules to the list of guides
+* ag/edit-todo-drop-check (2019-12-04) 2 commits
+ - rebase-interactive: warn if commit is dropped with `rebase --edit-todo'
+ - sequencer: move check_todo_list_from_file() to rebase-interactive.c
+ (this branch uses ag/sequencer-todo-updates.)
- Help update.
+ Allow the rebase.missingCommitsCheck configuration to kick in when
+ "rebase --edit-todo" and "rebase --continue" restarts the procedure.
+ Seems to break when merged to 'pu'.
-* pb/no-recursive-reset-hard-in-worktree-add (2019-10-30) 1 commit
- (merged to 'next' on 2019-11-19 at cdfb0643e9)
- + worktree: teach "add" to ignore submodule.recurse config
- "git worktree add" internally calls "reset --hard" that should not
- descend into submodules, even when submodule.recurse configuration
- is set, but it was affected. This has been corrected.
+--------------------------------------------------
+[Stalled]
+* mt/threaded-grep-in-object-store (2019-10-02) 11 commits
+ - grep: move driver pre-load out of critical section
+ - grep: re-enable threads in non-worktree case
+ - grep: protect packed_git [re-]initialization
+ - grep: allow submodule functions to run in parallel
+ - submodule-config: add skip_if_read option to repo_read_gitmodules()
+ - grep: replace grep_read_mutex by internal obj read lock
+ - object-store: allow threaded access to object reading
+ - replace-object: make replace operations thread-safe
+ - grep: fix racy calls in grep_objects()
+ - grep: fix race conditions at grep_submodule()
+ - grep: fix race conditions on userdiff calls
-* py/shortlog-list-options-for-log (2019-11-10) 1 commit
- (merged to 'next' on 2019-11-19 at 92a10e39f7)
- + git-shortlog.txt: include commit limiting options
+ Traditionally, we avoided threaded grep while searching in objects
+ (as opposed to files in the working tree) as accesses to the object
+ layer is not thread-safe. This limitation is getting lifted.
- Documentation pages for "git shortlog" now lists commit limiting
- options explicitly.
+ Expecting a reroll.
+ cf. <CAHd-oW7UPSSExyLtfLMCObWogKrBOctYabrFrOdf9-4Q2PZmMg@mail.gmail.com>
-* rj/bundle-ui-updates (2019-11-11) 3 commits
- (merged to 'next' on 2019-11-19 at d88f626256)
- + bundle-verify: add --quiet
- + bundle-create: progress output control
- + bundle: framework for options before bundle file
+* po/bundle-doc-clonable (2019-10-21) 1 commit
+ (merged to 'next' on 2019-12-02 at bd7fa24ad6)
+ + Doc: Bundle file usage
- "git bundle" has been taught to use the parse options API. "git
- bundle verify" learned "--quiet" and "git bundle create" learned
- options to control the progress output.
+ Doc update.
+ Will merge to 'master'.
-* rs/parse-options-dup-null-fix (2019-11-13) 1 commit
- (merged to 'next' on 2019-11-19 at 73040e1605)
- + parse-options: avoid arithmetic on pointer that's potentially NULL
- Code cleanup.
+* js/advise-rebase-skip (2019-10-23) 3 commits
+ - commit: give correct advice for empty commit during a rebase
+ - sequencer: export the function to get the path of `.git/rebase-merge/`
+ - cherry-pick: add test for `--skip` advice in `git commit`
+ The logic used in "git commit" to give hints and errors depending
+ on what operation was in progress learned to distinguish rebase and
+ cherry-pick better.
-* rs/skip-iprefix (2019-11-10) 2 commits
- (merged to 'next' on 2019-11-19 at c87ae31b14)
- + convert: use skip_iprefix() in validate_encoding()
- + utf8: use skip_iprefix() in same_utf_encoding()
+ Kicked back to 'pu'.
+ cf. <nycvar.QRO.7.76.6.1911081508560.46@tvgsbejvaqbjf.bet>
- Code simplification.
+* vn/reset-deleted-ita (2019-07-26) 1 commit
+ - reset: unstage empty deleted ita files
-* rs/trace2-dots (2019-11-06) 1 commit
- (merged to 'next' on 2019-11-19 at a045233ad0)
- + trace2: add dots directly to strbuf in perf_fmt_prepare()
+ "git reset HEAD [<pathspec>]" did not reset an empty file that was
+ added with the intent-to-add bit.
- Code cleanup.
+ Expecting a reroll.
-* rs/use-copy-array-in-mingw-shell-command-preparation (2019-11-13) 1 commit
- (merged to 'next' on 2019-11-19 at 52ee6a8887)
- + mingw: use COPY_ARRAY for copying array
+* jn/unknown-index-extensions (2018-11-21) 2 commits
+ - index: offer advice for unknown index extensions
+ - index: do not warn about unrecognized extensions
- Code cleanup.
+ A bit too alarming warning given when unknown index extensions
+ exist is getting revamped.
+ Expecting a reroll.
-* rt/fetch-message-fix (2019-11-02) 1 commit
- (merged to 'next' on 2019-11-19 at 69eb337cd8)
- + fetch.c: fix typo in a warning message
- A small message update.
+* jc/format-patch-delay-message-id (2019-04-05) 1 commit
+ - format-patch: move message-id and related headers to the end
+ The location "git format-patch --thread" adds the Message-Id:
+ header in the series of header fields has been moved down, which
+ may help working around a suspected bug in GMail MSA, reported at
+ <CAHk-=whP1stFZNAaJiMi5eZ9rj0MRt20Y_yHVczZPH+O01d+sA@mail.gmail.com>
-* sg/blame-indent-heuristics-is-now-the-default (2019-10-29) 1 commit
- (merged to 'next' on 2019-11-19 at 68e60f08cc)
- + builtin/blame.c: remove '--indent-heuristic' from usage string
+ Waiting for feedback to see if it truly helps.
+ Needs tests.
- Message update.
+* js/protocol-advertise-multi (2018-12-28) 1 commit
+ - protocol: advertise multiple supported versions
-* sg/skip-skipped-prereq (2019-11-13) 1 commit
- (merged to 'next' on 2019-11-19 at 10d344fed7)
- + test-lib: don't check prereqs of test cases that won't be run anyway
+ The transport layer has been updated so that the protocol version
+ used can be negotiated between the parties, by the initiator
+ listing the protocol versions it is willing to talk, and the other
+ side choosing from one of them.
- Test update to avoid wasted cycles.
+ Expecting a reroll.
+ cf. <CANq=j3u-zdb_FvNJGPCmygNMScseav63GhVvBX3NcVS4f7TejA@mail.gmail.com>
-* tg/stash-refresh-index (2019-11-14) 1 commit
- (merged to 'next' on 2019-11-19 at 4d67af8d3f)
- + stash: make sure we have a valid index before writing it
+* mk/use-size-t-in-zlib (2018-10-15) 1 commit
+ - zlib.c: use size_t for size
- Recent update to "git stash pop" made the command empty the index
- when run with the "--quiet" option, which has been corrected.
+ The wrapper to call into zlib followed our long tradition to use
+ "unsigned long" for sizes of regions in memory, which have been
+ updated to use "size_t".
--------------------------------------------------
-[New Topics]
+[Cooking]
* ds/commit-graph-delay-gen-progress (2019-11-27) 2 commits
- - commit-graph: use start_delayed_progress()
- - progress: create GIT_PROGRESS_DELAY
+ (merged to 'next' on 2019-12-05 at 9252a4b1b6)
+ + commit-graph: use start_delayed_progress()
+ + progress: create GIT_PROGRESS_DELAY
One kind of progress messages were always given during commit-graph
generation, instead of following the "if it takes more than two
seconds, show progress" pattern, which has been corrected.
- Will merge to 'next'.
+ Will merge to 'master'.
* ds/sparse-cone (2019-11-22) 19 commits
@@ -462,71 +468,11 @@ of the repositories listed at
Management of sparsely checked-out working tree has gained a
dedicated "sparse-checkout" command.
- How well is this topic done at this point?
-
-
-* dl/range-diff-with-notes (2019-11-21) 10 commits
- (merged to 'next' on 2019-11-25 at dd6dad97c1)
- + format-patch: pass notes configuration to range-diff
- + range-diff: pass through --notes to `git log`
- + range-diff: output `## Notes ##` header
- + t3206: range-diff compares logs with commit notes
- + t3206: s/expected/expect/
- + t3206: disable parameter substitution in heredoc
- + t3206: remove spaces after redirect operators
- + pretty-options.txt: --notes accepts a ref instead of treeish
- + rev-list-options.txt: remove reference to --show-notes
- + argv-array: add space after `while`
-
- "git range-diff" learned to take the "--notes=<ref>" and the
- "--no-notes" options to control the commit notes included in the
- log message that gets compared.
-
- Will merge to 'master'.
-
-
-* jc/azure-ci-osx-fix-fix (2019-11-20) 1 commit
- (merged to 'next' on 2019-11-25 at 7de6356e67)
- + ci(osx): update homebrew-cask repository with less noise
-
- CI jobs for macOS has been made less chatty when updating perforce
- package used during testing.
-
- Will merge to 'master'.
-
-
-* jk/fail-show-toplevel-outside-working-tree (2019-11-20) 1 commit
- (merged to 'next' on 2019-11-25 at cd97ae38bc)
- + rev-parse: make --show-toplevel without a worktree an error
-
- "git rev-parse --show-toplevel" run outside of any working tree did
- not error out, which has been corrected.
-
- Will merge to 'master'.
+ Possibly wait for Szeder?
+ cf. <bea26b66-ac52-8f0e-9557-c958db7be628@gmail.com>
-* pb/submodule-update-fetches (2019-11-24) 1 commit
- (merged to 'next' on 2019-11-25 at 7736f98351)
- + doc: mention that 'git submodule update' fetches missing commits
-
- Doc update.
-
- Will merge to 'master'.
-
-
-* sg/unpack-progress-throughput (2019-11-20) 1 commit
- (merged to 'next' on 2019-11-25 at 0418db6a27)
- + builtin/unpack-objects.c: show throughput progress
-
- "git unpack-objects" used to show progress based only on the number
- of received and unpacked objects, which stalled when it has to
- handle an unusually large object. It now shows the throughput as
- well.
-
- Will merge to 'master'.
-
-
-* dl/test-cleanup (2019-11-29) 26 commits
+* dl/test-cleanup (2019-12-04) 26 commits
- t7700: stop losing return codes of git commands
- t7700: make references to SHA-1 generic
- t7700: replace egrep with grep
@@ -560,21 +506,12 @@ of the repositories listed at
* tg/perf-remove-stale-result (2019-11-27) 1 commit
- - perf-lib: use a single filename for all measurement types
+ (merged to 'next' on 2019-12-05 at 466f07fb63)
+ + perf-lib: use a single filename for all measurement types
PerfTest fix to avoid stale result mixed up with the latest round
of test results.
- Will merge to 'next'.
-
-
-* us/unpack-trees-fsmonitor (2019-11-21) 1 commit
- (merged to 'next' on 2019-11-27 at 4c06f74957)
- + unpack-trees: skip stat on fsmonitor-valid files
-
- Users of oneway_merge() (like "reset --hard") learned to take
- advantage of fsmonitor to avoid unnecessary lstat(2) calls.
-
Will merge to 'master'.
@@ -593,46 +530,13 @@ of the repositories listed at
Updates around testing fsmoitor integration.
- Will merge to 'next'.
-
-
-* hi/gpg-optional-pkfp-fix (2019-11-23) 2 commits
- (merged to 'next' on 2019-11-25 at b0d668176f)
- + gpg-interface: limit search for primary key fingerprint
- + gpg-interface: refactor the free-and-xmemdupz pattern
- (this branch is used by hi/gpg-use-check-signature.)
-
- The code to parse GPG output used to assume incorrectly that the
- finterprint for the primary key would always be present for a valid
- signature, which has been corrected.
-
- Will merge to 'master'.
-
-
-* hv/assume-priumax-is-available-anywhere (2019-11-25) 1 commit
- (merged to 'next' on 2019-11-27 at caac4f633d)
- + git-compat-util.h: drop the `PRIuMAX` and other fallback definitions
-
- We have had compatibility fallback macro definitions for "PRIuMAX",
- "PRIu32", etc. but did not for "PRIdMAX", while the code used the
- last one apparently without any hiccup reported recently. The
- fallback macro definitions for these <inttypes.h> macros that must
- appear in C99 systems have been removed.
-
- Will merge to 'master'.
-
-
-* js/git-svn-use-rebase-merges (2019-11-23) 1 commit
- (merged to 'next' on 2019-11-25 at 9585fe30f8)
- + git svn: stop using `rebase --preserve-merges`
-
- Prepare further for "rebase --preserve-merges" deprecation.
-
- Will merge to 'master'.
+ On Hold.
+ cf. <bea26b66-ac52-8f0e-9557-c958db7be628@gmail.com>
* js/mingw-inherit-only-std-handles (2019-12-02) 6 commits
- - mingw: translate ERROR_SUCCESS to errno = 0
+ (merged to 'next' on 2019-12-05 at 289f13054b)
+ + mingw: forbid translating ERROR_SUCCESS to an errno value
(merged to 'next' on 2019-12-02 at 798a952eca)
+ mingw: do set `errno` correctly when trying to restrict handle inheritance
(merged to 'next' on 2019-11-27 at 4736894af6)
@@ -645,63 +549,6 @@ of the repositories listed at
child process and is kept open in the child can interfere with the
operation in the parent process on Windows.
- Will wait for a bit before merging to 'next'.
-
-
-* mg/doc-submodule-status-cached (2019-11-24) 1 commit
- (merged to 'next' on 2019-11-25 at fa833392a3)
- + doc: document 'git submodule status --cached'
-
- "git submodule status" and "git submodule status --cached" show
- different things, but the documentation did not cover them
- correctly, which has been corrected.
-
- Will merge to 'master'.
-
-
-* mg/submodule-status-from-a-subdirectory (2019-11-25) 1 commit
- (merged to 'next' on 2019-11-27 at 24cb2d79ff)
- + submodule: fix 'submodule status' when called from a subdirectory
-
- "git submodule status" that is run from a subdirectory of the
- superproject did not work well, which has been corrected.
-
- Will merge to 'master'.
-
-
-* mh/clear-topo-walk-upon-reset (2019-11-25) 2 commits
- (merged to 'next' on 2019-11-27 at 15871c1c2a)
- + revision: free topo_walk_info before creating a new one in init_topo_walk
- + revision: clear the topo-walk flags in reset_revision_walk
-
- The revision walking machinery uses resources like per-object flag
- bits that need to be reset before a new iteration of walking
- begins, but the resources related to topological walk were not
- cleared correctly, which has been corrected.
-
- Will merge to 'master'.
-
-
-* nl/reset-patch-takes-a-tree (2019-11-25) 1 commit
- (merged to 'next' on 2019-11-25 at 34dc348eaf)
- + reset: parse rev as tree-ish in patch mode
-
- "git reset --patch $object" without any pathspec should allow a
- tree object to be given, but incorrectly required a committish,
- which has been corrected.
-
- Will merge to 'master'.
-
-
-* pw/sequencer-compare-with-right-parent-to-check-empty-commits (2019-11-23) 1 commit
- (merged to 'next' on 2019-11-25 at a4e4f06286)
- + sequencer: fix empty commit check when amending
-
- The sequencer machinery compared the HEAD and the state it is
- attempting to commit to decide if the result would be a no-op
- commit, even when amending a commit, which was incorrect, and
- has been corrected.
-
Will merge to 'master'.
@@ -717,47 +564,36 @@ of the repositories listed at
Will merge to 'master'.
-* sg/test-bool-env (2019-11-23) 2 commits
- (merged to 'next' on 2019-11-27 at e1874e422f)
- + t5608-clone-2gb.sh: turn GIT_TEST_CLONE_2GB into a bool
- + tests: add 'test_bool_env' to catch non-bool GIT_TEST_* values
-
- Recently we have declared that GIT_TEST_* variables take the
- usual boolean values (it used to be that some used "non-empty
- means true" and taking GIT_TEST_VAR=YesPlease as true); make
- sure we notice and fail when non-bool strings are given to
- these variables.
-
- Will merge to 'master'.
-
-
* as/t7812-missing-redirects-fix (2019-12-01) 2 commits
- - t7812: expect failure for grep -i with invalid UTF-8 data
- - t7812: add missing redirects
+ (merged to 'next' on 2019-12-05 at aa89a7945f)
+ + t7812: expect failure for grep -i with invalid UTF-8 data
+ + t7812: add missing redirects
Test fix.
- Will merge to 'next'.
+ Will merge to 'master'.
* jk/perf-wo-git-dot-pm (2019-11-27) 1 commit
- - t/perf: don't depend on Git.pm
+ (merged to 'next' on 2019-12-05 at 6d9e3930ec)
+ + t/perf: don't depend on Git.pm
Test cleanup.
- Will merge to 'next'.
+ Will merge to 'master'.
-* jt/clone-recursesub-ref-advise (2019-11-27) 2 commits
- - submodule--helper: advise on fatal alternate error
- - Documentation: explain submodule.alternateErrorStrategy
+* jt/clone-recursesub-ref-advise (2019-12-03) 2 commits
+ (merged to 'next' on 2019-12-05 at fc071dddfe)
+ + submodule--helper: advise on fatal alternate error
+ + Doc: explain submodule.alternateErrorStrategy
The interaction between "git clone --recurse-submodules" and
alternate object store was ill-designed. The documentation and
code have been taught to make more clear recommendations when the
users see failures.
- Will merge to 'next'.
+ Will merge to 'master'.
* ra/t5150-depends-on-perl (2019-11-27) 1 commit
@@ -770,242 +606,171 @@ of the repositories listed at
* rs/simplify-prepare-cmd (2019-11-27) 1 commit
- - run-command: use prepare_git_cmd() in prepare_cmd()
+ (merged to 'next' on 2019-12-02 at 12e1a9e935)
+ + run-command: use prepare_git_cmd() in prepare_cmd()
Code cleanup.
- Will merge to 'next'.
+ Will merge to 'master'.
* rs/test-cleanup (2019-11-30) 7 commits
- - t7811: don't create unused file
- - t9300: don't create unused file
- - test: use test_must_be_empty F instead of test_cmp empty F
- - test: use test_must_be_empty F instead of test -z $(cat F)
- - t1400: use test_must_be_empty
- - t1410: use test_line_count
- - t1512: use test_line_count
+ (merged to 'next' on 2019-12-02 at eabc2e30f5)
+ + t7811: don't create unused file
+ + t9300: don't create unused file
+ + test: use test_must_be_empty F instead of test_cmp empty F
+ + test: use test_must_be_empty F instead of test -z $(cat F)
+ + t1400: use test_must_be_empty
+ + t1410: use test_line_count
+ + t1512: use test_line_count
Test cleanup.
- Will merge to 'next'.
+ Will merge to 'master'.
* rs/use-skip-prefix-more (2019-11-27) 5 commits
- - name-rev: use skip_prefix() instead of starts_with()
- - push: use skip_prefix() instead of starts_with()
- - shell: use skip_prefix() instead of starts_with()
- - fmt-merge-msg: use skip_prefix() instead of starts_with()
- - fetch: use skip_prefix() instead of starts_with()
+ (merged to 'next' on 2019-12-02 at a2124db23e)
+ + name-rev: use skip_prefix() instead of starts_with()
+ + push: use skip_prefix() instead of starts_with()
+ + shell: use skip_prefix() instead of starts_with()
+ + fmt-merge-msg: use skip_prefix() instead of starts_with()
+ + fetch: use skip_prefix() instead of starts_with()
Code cleanup.
- Will merge to 'next'.
+ Will merge to 'master'.
* sg/test-squelch-noise-in-commit-bulk (2019-11-27) 1 commit
- - test-lib-functions: suppress a 'git rev-parse' error in 'test_commit_bulk'
+ (merged to 'next' on 2019-12-05 at 7819efee07)
+ + test-lib-functions: suppress a 'git rev-parse' error in 'test_commit_bulk'
Code cleanup.
- Will merge to 'next'.
+ Will merge to 'master'.
* ag/sequencer-continue-leakfix (2019-11-30) 1 commit
- - sequencer: fix a memory leak in sequencer_continue()
+ (merged to 'next' on 2019-12-05 at 923a6a7ab6)
+ + sequencer: fix a memory leak in sequencer_continue()
Leakfix.
- Will merge to 'next'.
+ Will merge to 'master'.
* bc/t9001-zsh-in-posix-emulation-mode (2019-11-30) 1 commit
- - t9001: avoid including non-trailing NUL bytes in variables
+ (merged to 'next' on 2019-12-05 at d0ce4bcc90)
+ + t9001: avoid including non-trailing NUL bytes in variables
Test portability fix.
- Will merge to 'next'.
+ Will merge to 'master'.
-* cs/store-packfiles-in-hashmap (2019-12-01) 1 commit
- - packfile.c: speed up loading lots of packfiles
+* cs/store-packfiles-in-hashmap (2019-12-03) 1 commit
+ (merged to 'next' on 2019-12-05 at 887d5559bb)
+ + packfile.c: speed up loading lots of packfiles
In a repository with many packfiles, the cost of the procedure that
avoids registering the same packfile twice was unnecessarily high
by using an inefficient search algorithm, which has been corrected.
- Will merge to 'next'.
+ Will merge to 'master'.
* dd/time-reentrancy (2019-12-01) 3 commits
- - mingw: use {gm,local}time_s as backend for {gm,local}time_r
- - archive-zip.c: switch to reentrant localtime_r
- - date.c: switch to reentrant {gm,local}time_r
+ (merged to 'next' on 2019-12-05 at d0c91f4d1b)
+ + mingw: use {gm,local}time_s as backend for {gm,local}time_r
+ + archive-zip.c: switch to reentrant localtime_r
+ + date.c: switch to reentrant {gm,local}time_r
Avoid gmtime() and localtime() and prefer their reentrant
counterparts.
- Will merge to 'next'.
+ Will merge to 'master'.
* em/test-skip-regex-illseq (2019-11-30) 1 commit
- - t4210: skip i18n tests that don't work on FreeBSD
+ (merged to 'next' on 2019-12-05 at 85c7940aeb)
+ + t4210: skip i18n tests that don't work on FreeBSD
Test portability fix.
- Will merge to 'next'.
+ Will merge to 'master'.
* hi/gpg-use-check-signature (2019-11-30) 1 commit
- - gpg-interface: prefer check_signature() for GPG verification
- (this branch uses hi/gpg-optional-pkfp-fix.)
+ (merged to 'next' on 2019-12-05 at 35fc8e839a)
+ + gpg-interface: prefer check_signature() for GPG verification
Hide lower-level verify_signed-buffer() API as a pure helper to
implement the public check_signature() function, in order to
encourage new callers to use the correct and more strict
validation.
- Will merge to 'next'.
+ Will merge to 'master'.
* hi/grep-do-not-return-void (2019-11-30) 1 commit
- - grep: don't return an expression from pcre2_free()
+ (merged to 'next' on 2019-12-02 at 4409c73cfa)
+ + grep: don't return an expression from pcre2_free()
Code cleanup.
- Will merge to 'next'.
+ Will merge to 'master'.
* jk/lore-is-the-archive (2019-11-30) 2 commits
- - doc: replace public-inbox links with lore.kernel.org
- - doc: recommend lore.kernel.org over public-inbox.org
+ (merged to 'next' on 2019-12-02 at 603a2b0105)
+ + doc: replace public-inbox links with lore.kernel.org
+ + doc: recommend lore.kernel.org over public-inbox.org
+ (this branch is used by dl/lore-is-the-archive.)
Doc update for the mailing list archiving and nntp service.
- Will merge to 'next'.
+ Will merge to 'master'.
* jk/send-pack-check-negative-with-quick (2019-11-30) 1 commit
- - send-pack: use OBJECT_INFO_QUICK to check negative objects
+ (merged to 'next' on 2019-12-02 at 2b01214601)
+ + send-pack: use OBJECT_INFO_QUICK to check negative objects
Performance tweak on "git push" into a repository with many refs
that point at objects we have never heard of.
- Will merge to 'next'.
+ Will merge to 'master'.
* sg/osx-force-gcc-9 (2019-11-29) 1 commit
- - ci: build Git with GCC 9 in the 'osx-gcc' build job
+ (merged to 'next' on 2019-12-02 at 4916f80e5e)
+ + ci: build Git with GCC 9 in the 'osx-gcc' build job
TravisCI update.
- Will merge to 'next'.
-
---------------------------------------------------
-[Stalled]
-
-* po/bundle-doc-clonable (2019-10-21) 1 commit
- - Doc: Bundle file usage
-
- Doc update.
-
- Expecting a reroll.
-
-
-* js/advise-rebase-skip (2019-10-23) 3 commits
- - commit: give correct advice for empty commit during a rebase
- - sequencer: export the function to get the path of `.git/rebase-merge/`
- - cherry-pick: add test for `--skip` advice in `git commit`
-
- The logic used in "git commit" to give hints and errors depending
- on what operation was in progress learned to distinguish rebase and
- cherry-pick better.
-
- Kicked back to 'pu'.
- cf. <nycvar.QRO.7.76.6.1911081508560.46@tvgsbejvaqbjf.bet>
-
-
-* vn/reset-deleted-ita (2019-07-26) 1 commit
- - reset: unstage empty deleted ita files
-
- "git reset HEAD [<pathspec>]" did not reset an empty file that was
- added with the intent-to-add bit.
-
- Expecting a reroll.
-
-
-* jn/unknown-index-extensions (2018-11-21) 2 commits
- - index: offer advice for unknown index extensions
- - index: do not warn about unrecognized extensions
-
- A bit too alarming warning given when unknown index extensions
- exist is getting revamped.
-
- Expecting a reroll.
-
-
-* jc/format-patch-delay-message-id (2019-04-05) 1 commit
- - format-patch: move message-id and related headers to the end
-
- The location "git format-patch --thread" adds the Message-Id:
- header in the series of header fields has been moved down, which
- may help working around a suspected bug in GMail MSA, reported at
- <CAHk-=whP1stFZNAaJiMi5eZ9rj0MRt20Y_yHVczZPH+O01d+sA@mail.gmail.com>
-
- Waiting for feedback to see if it truly helps.
- Needs tests.
-
-
-* js/protocol-advertise-multi (2018-12-28) 1 commit
- - protocol: advertise multiple supported versions
-
- The transport layer has been updated so that the protocol version
- used can be negotiated between the parties, by the initiator
- listing the protocol versions it is willing to talk, and the other
- side choosing from one of them.
-
- Expecting a reroll.
- cf. <CANq=j3u-zdb_FvNJGPCmygNMScseav63GhVvBX3NcVS4f7TejA@mail.gmail.com>
-
-
-* mk/use-size-t-in-zlib (2018-10-15) 1 commit
- - zlib.c: use size_t for size
-
- The wrapper to call into zlib followed our long tradition to use
- "unsigned long" for sizes of regions in memory, which have been
- updated to use "size_t".
-
---------------------------------------------------
-[Cooking]
-
-* jh/userdiff-python-async (2019-11-20) 1 commit
- (merged to 'next' on 2019-11-25 at 74e4a4ed9f)
- + userdiff: support Python async functions
-
- The userdiff machinery has been taught that "async def" is another
- way to begin a "function" in Python.
-
Will merge to 'master'.
* dl/pretty-reference (2019-11-20) 11 commits
- - SubmittingPatches: use `--pretty=reference`
- - pretty: implement 'reference' format
- - pretty: add struct cmt_fmt_map::default_date_mode_type
- - pretty: provide short date format
- - t4205: cover `git log --reflog -z` blindspot
- - pretty.c: inline initalize format_context
- - revision: make get_revision_mark() return const pointer
- - completion: complete `tformat:` pretty format
- - SubmittingPatches: remove dq from commit reference
- - pretty-formats.txt: use generic terms for hash
- - SubmittingPatches: use generic terms for hash
+ (merged to 'next' on 2019-12-05 at 0972133ad2)
+ + SubmittingPatches: use `--pretty=reference`
+ + pretty: implement 'reference' format
+ + pretty: add struct cmt_fmt_map::default_date_mode_type
+ + pretty: provide short date format
+ + t4205: cover `git log --reflog -z` blindspot
+ + pretty.c: inline initalize format_context
+ + revision: make get_revision_mark() return const pointer
+ + completion: complete `tformat:` pretty format
+ + SubmittingPatches: remove dq from commit reference
+ + pretty-formats.txt: use generic terms for hash
+ + SubmittingPatches: use generic terms for hash
"git log" family learned "--pretty=ref" that gives the name of a
commit in the format that is often used to refer to it in log
messages.
- Will merge to 'next'.
+ Will merge to 'master'.
* hw/doc-in-header (2019-11-18) 20 commits
@@ -1032,47 +797,20 @@ of the repositories listed at
* js/builtin-add-i-cmds (2019-12-01) 9 commits
- - built-in add -i: offer the `quit` command
- - built-in add -i: re-implement the `diff` command
- - built-in add -i: implement the `patch` command
- - built-in add -i: re-implement `add-untracked` in C
- - built-in add -i: re-implement `revert` in C
- - built-in add -i: implement the `update` command
- - built-in add -i: prepare for multi-selection commands
- - built-in add -i: allow filtering the modified files list
- - add-interactive: make sure to release `rev.prune_data`
- (this branch uses js/builtin-add-i.)
+ (merged to 'next' on 2019-12-05 at 30cfe5c15d)
+ + built-in add -i: offer the `quit` command
+ + built-in add -i: re-implement the `diff` command
+ + built-in add -i: implement the `patch` command
+ + built-in add -i: re-implement `add-untracked` in C
+ + built-in add -i: re-implement `revert` in C
+ + built-in add -i: implement the `update` command
+ + built-in add -i: prepare for multi-selection commands
+ + built-in add -i: allow filtering the modified files list
+ + add-interactive: make sure to release `rev.prune_data`
"git add -i" that is getting rewritten in C has been extended to
cover subcommands other than the "patch".
- Will merge to 'next'.
-
-
-* js/rebase-r-safer-label (2019-11-18) 2 commits
- (merged to 'next' on 2019-11-21 at 791d51b0d7)
- + rebase -r: let `label` generate safer labels
- + rebase-merges: move labels' whitespace mangling into `label_oid()`
- (this branch is used by dd/rebase-merge-reserves-onto-label.)
-
- A label used in the todo list that are generated by "git rebase
- --rebase-merges" is used as a part of a refname; the logic to come
- up with the label has been tightened to avoid names that cannot be
- used as such.
-
- Will merge to 'master'.
-
-
-* dd/rebase-merge-reserves-onto-label (2019-11-20) 1 commit
- (merged to 'next' on 2019-11-21 at a6e4e5af0a)
- + sequencer: handle rebase-merges for "onto" message
- (this branch uses js/rebase-r-safer-label.)
-
- The logic to avoid duplicate label names generated by "git rebase
- --rebase-merges" forgot that the machinery itself uses "onto" as a
- label name, which must be avoided by auto-generated labels, which
- has been corrected.
-
Will merge to 'master'.
@@ -1128,6 +866,7 @@ of the repositories listed at
+ doc: reset: synchronize <pathspec> description
+ pathspec: add new function to parse file
+ parse-options.h: add new options `--pathspec-from-file`, `--pathspec-file-nul`
+ (this branch is used by am/pathspec-f-f-checkout and es/pathspec-f-f-grep.)
A few commands learned to take the pathspec from the
standard input or a named file, instead of taking it as the command
@@ -1136,65 +875,6 @@ of the repositories listed at
Will merge to 'master'.
-* ec/fetch-mark-common-refs-trace2 (2019-11-20) 1 commit
- (merged to 'next' on 2019-11-25 at c2b8e1546c)
- + fetch: add trace2 instrumentation
-
- Trace2 annotation.
-
- Will merge to 'master'.
-
-
-* ep/guard-kset-tar-headers (2019-11-07) 1 commit
- (merged to 'next' on 2019-11-21 at 6c9574b01d)
- + kset.h, tar.h: add missing header guard to prevent multiple inclusion
-
- Code clean-up.
-
- Will merge to 'master'.
-
-
-* dl/t5520-cleanup (2019-11-21) 15 commits
- (merged to 'next' on 2019-11-27 at 523d920acf)
- + t5520: replace `! git` with `test_must_fail git`
- + t5520: remove redundant lines in test cases
- + t5520: replace $(cat ...) comparison with test_cmp
- + t5520: don't put git in upstream of pipe
- + t5520: test single-line files by git with test_cmp
- + t5520: use test_cmp_rev where possible
- + t5520: replace test -{n,z} with test-lib functions
- + t5520: use test_line_count where possible
- + t5520: remove spaces after redirect operator
- + t5520: replace test -f with test-lib functions
- + t5520: let sed open its own input
- + t5520: use sq for test case names
- + t5520: improve test style
- + t: teach test_cmp_rev to accept ! for not-equals
- + t0000: test multiple local assignment
-
- Test cleanup.
-
- Will merge to 'master'.
-
-
-* js/builtin-add-i (2019-11-18) 9 commits
- (merged to 'next' on 2019-11-21 at caefa55b89)
- + built-in add -i: implement the `help` command
- + built-in add -i: use color in the main loop
- + built-in add -i: support `?` (prompt help)
- + built-in add -i: show unique prefixes of the commands
- + built-in add -i: implement the main loop
- + built-in add -i: color the header in the `status` command
- + built-in add -i: implement the `status` command
- + diff: export diffstat interface
- + Start to implement a built-in version of `git add --interactive`
- (this branch is used by js/builtin-add-i-cmds.)
-
- The beginning of rewriting "git add -i" in C.
-
- Will merge to 'master'.
-
-
* ra/rebase-i-more-options (2019-11-25) 7 commits
(merged to 'next' on 2019-11-27 at e8a6d1e281)
+ rebase -i: finishing touches to --reset-author-date
@@ -1212,11 +892,12 @@ of the repositories listed at
* dl/submodule-set-url (2019-10-30) 1 commit
- - submodule: teach set-url subcommand
+ (merged to 'next' on 2019-12-05 at a164eccad1)
+ + submodule: teach set-url subcommand
"git submodule" learned a subcommand "set-url".
- Will merge to 'next'.
+ Will merge to 'master'.
* ag/sequencer-todo-updates (2019-11-25) 5 commits
@@ -1226,6 +907,7 @@ of the repositories listed at
+ sequencer: move the code writing total_nr on the disk to a new function
+ sequencer: update `done_nr' when skipping commands in a todo list
+ sequencer: update `total_nr' when adding an item to a todo list
+ (this branch is used by ag/edit-todo-drop-check.)
Reduce unnecessary reading of state variables back from the disk
during sequencer operation.
@@ -1233,27 +915,6 @@ of the repositories listed at
Will merge to 'master'.
-* mt/threaded-grep-in-object-store (2019-10-02) 11 commits
- - grep: move driver pre-load out of critical section
- - grep: re-enable threads in non-worktree case
- - grep: protect packed_git [re-]initialization
- - grep: allow submodule functions to run in parallel
- - submodule-config: add skip_if_read option to repo_read_gitmodules()
- - grep: replace grep_read_mutex by internal obj read lock
- - object-store: allow threaded access to object reading
- - replace-object: make replace operations thread-safe
- - grep: fix racy calls in grep_objects()
- - grep: fix race conditions at grep_submodule()
- - grep: fix race conditions on userdiff calls
-
- Traditionally, we avoided threaded grep while searching in objects
- (as opposed to files in the working tree) as accesses to the object
- layer is not thread-safe. This limitation is getting lifted.
-
- Expecting a reroll.
- cf. <CAHd-oW7UPSSExyLtfLMCObWogKrBOctYabrFrOdf9-4Q2PZmMg@mail.gmail.com>
-
-
* jk/packfile-reuse-cleanup (2019-10-23) 9 commits
(merged to 'next' on 2019-11-19 at 9683853939)
+ pack-objects: improve partial packfile reuse