To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Dec 2021, #03; Fri, 10)
-X-master-at: e773545c7fe7eca21b134847f4fc2cbc9547fa14
-X-next-at: fae76fe5da3df25d752f2251b7ccda3f62813aa9
+Subject: What's cooking in git.git (Dec 2021, #04; Wed, 15)
+X-master-at: 69a9c10c95e28df457e33b3c7400b16caf2e2962
+X-next-at: a2b2bfdf31eaee062391d5f278d6dd93cf7a3e4c
-What's cooking in git.git (Dec 2021, #03; Fri, 10)
+What's cooking in git.git (Dec 2021, #04; Wed, 15)
--------------------------------------------------
Here are the topics that have been cooking in my tree. Commits
--------------------------------------------------
[Graduated to 'master']
-* ab/checkout-branch-info-leakfix (2021-11-18) 1 commit
- (merged to 'next' on 2021-12-02 at 5922388782)
- + checkout: fix "branch info" memory leaks
-
- Leakfix.
- source: <patch-v4-1.1-57bcd0cbc23-20211116T182604Z-avarab@gmail.com>
-
+* ab/ci-updates (2021-11-23) 5 commits
+ (merged to 'next' on 2021-12-07 at 1d855a6b33)
+ + CI: don't run "make test" twice in one job
+ + CI: use "$runs_on_pool", not "$jobname" to select packages & config
+ + CI: rename the "Linux32" job to lower-case "linux32"
+ + CI: use shorter names that fit in UX tooltips
+ + CI: remove Travis CI support
-* ab/generate-command-list (2021-11-05) 10 commits
- (merged to 'next' on 2021-12-02 at 37a575b37f)
- + generate-cmdlist.sh: don't parse command-list.txt thrice
- + generate-cmdlist.sh: replace "grep' invocation with a shell version
- + generate-cmdlist.sh: do not shell out to "sed"
- + generate-cmdlist.sh: stop sorting category lines
- + generate-cmdlist.sh: replace for loop by printf's auto-repeat feature
- + generate-cmdlist.sh: run "grep | sort", not "sort | grep"
- + generate-cmdlist.sh: don't call get_categories() from category_list()
- + generate-cmdlist.sh: spawn fewer processes
- + generate-cmdlist.sh: trivial whitespace change
- + command-list.txt: sort with "LC_ALL=C sort"
+ Drop support for TravisCI and update test workflows at GitHub.
+ source: <cover-v4-0.5-00000000000-20211123T134300Z-avarab@gmail.com>
- Build optimization.
- source: <cover-v3-00.10-00000000000-20211105T135058Z-avarab@gmail.com>
+* ab/die-with-bug (2021-12-07) 4 commits
+ (merged to 'next' on 2021-12-08 at 9b7440fafd)
+ + object.c: use BUG(...) no die("BUG: ...") in lookup_object_by_type()
+ + pathspec: use BUG(...) not die("BUG:%s:%d....", <file>, <line>)
+ + strbuf.h: use BUG(...) not die("BUG: ...")
+ + pack-objects: use BUG(...) not die("BUG: ...")
-* ah/advice-pull-has-no-preference-between-rebase-and-merge (2021-11-19) 1 commit
- (merged to 'next' on 2021-12-02 at 1b49913760)
- + pull: don't say that merge is "the default strategy"
+ Code clean-up.
+ source: <cover-v2-0.4-00000000000-20211207T110440Z-avarab@gmail.com>
- The advice message given by "git pull" when the user hasn't made a
- choice between merge and rebase still said that the merge is the
- default, which no longer is the case. This has been corrected.
- source: <20211118154317.639118-1-alexhenrie24@gmail.com>
+* ab/mark-leak-free-tests-even-more (2021-11-01) 15 commits
+ (merged to 'next' on 2021-12-03 at 1d8c342dab)
+ + leak tests: mark some fast-import tests as passing with SANITIZE=leak
+ + leak tests: mark some config tests as passing with SANITIZE=leak
+ + leak tests: mark some status tests as passing with SANITIZE=leak
+ + leak tests: mark some clone tests as passing with SANITIZE=leak
+ + leak tests: mark some add tests as passing with SANITIZE=leak
+ + leak tests: mark some diff tests as passing with SANITIZE=leak
+ + leak tests: mark some apply tests as passing with SANITIZE=leak
+ + leak tests: mark some notes tests as passing with SANITIZE=leak
+ + leak tests: mark some update-index tests as passing with SANITIZE=leak
+ + leak tests: mark some rev-parse tests as passing with SANITIZE=leak
+ + leak tests: mark some rev-list tests as passing with SANITIZE=leak
+ + leak tests: mark some misc tests as passing with SANITIZE=leak
+ + leak tests: mark most gettext tests as passing with SANITIZE=leak
+ + leak tests: mark "sort" test as passing SANITIZE=leak
+ + leak tests: mark a read-tree test as passing SANITIZE=leak
-* bc/require-c99 (2021-12-01) 1 commit
- (merged to 'next' on 2021-12-02 at 76aa8bc2d0)
- + git-compat-util: add a test balloon for C99 support
- (this branch is used by jk/limit-developers-to-gnu99.)
+ More tests are marked as leak-free.
+ source: <cover-00.15-00000000000-20211030T221945Z-avarab@gmail.com>
- Weather balloon to break people with compilers that do not support
- C99.
- source: <20211201014050.38002-1-sandals@crustytoothpaste.net>
+* ab/parse-options-cleanup (2021-11-10) 1 commit
+ (merged to 'next' on 2021-12-08 at f9a2ceb9f6)
+ + parse-options.c: use "enum parse_opt_result" for parse_nodash_opt()
-* cb/add-p-single-key-fix (2021-11-28) 1 commit
- (merged to 'next' on 2021-12-03 at 8d4f16e620)
- + add -p: avoid use of undefined $key when ReadKey -> EOF
+ Change the type of an internal function to return an enum (instead
+ of int) and replace -2 that was used to signal an error with -1.
+ source: <patch-v2-1.1-376f76bb44e-20211110T012523Z-avarab@gmail.com>
- The single-key-input mode in "git add -p" had some code to handle
- keys that generate a sequence of input via ReadKey(), which did not
- handle end-of-file correctly, which has been fixed.
- source: <20211128174903.5623-1-carenas@gmail.com>
+* ab/run-command (2021-11-25) 9 commits
+ (merged to 'next' on 2021-12-07 at 5c0bedf853)
+ + run-command API: remove "env" member, always use "env_array"
+ + difftool: use "env_array" to simplify memory management
+ + run-command API: remove "argv" member, always use "args"
+ + run-command API users: use strvec_push(), not argv construction
+ + run-command API users: use strvec_pushl(), not argv construction
+ + run-command tests: use strvec_pushv(), not argv assignment
+ + run-command API users: use strvec_pushv(), not argv assignment
+ + upload-archive: use regular "struct child_process" pattern
+ + worktree: stop being overly intimate with run_command() internals
-* cb/mingw-gmtime-r (2021-11-27) 1 commit
- (merged to 'next' on 2021-12-03 at 785278d40e)
- + mingw: avoid fallback for {local,gm}time_r()
+ API clean-up.
+ cf. <211130.86k0gpcpy2.gmgdl@evledraar.gmail.com>
+ cf. <CAPig+cSvFgJTiq8pXrWy_7ukQwE1y9ZGwMgKmyjWuQHdNGxiDQ@mail.gmail.com>
+ source: <cover-v3-0.9-00000000000-20211125T224833Z-avarab@gmail.com>
- Build fix on Windows.
- source: <pull.1142.v2.git.git.1638008132992.gitgitgadget@gmail.com>
+* ds/sparse-deep-pattern-checkout-fix (2021-12-06) 2 commits
+ (merged to 'next' on 2021-12-07 at 7b7f74216a)
+ + unpack-trees: use traverse_path instead of name
+ + t1092: add deeper changes during a checkout
-* cw/protocol-v2-doc-fix (2021-11-11) 1 commit
- (merged to 'next' on 2021-12-02 at 59f42a7cfc)
- + protocol-v2.txt: align delim-pkt spec with usage
+ The sparse-index/sparse-checkout feature had a bug in its use of
+ the matching code to determine which path is in or outside the
+ sparse checkout patterns.
+ source: <pull.1092.v2.git.1638799837.gitgitgadget@gmail.com>
- Doc update.
- source: <20211111220048.1702896-1-calvinwan@google.com>
+* ds/trace2-regions-in-tests (2021-11-29) 2 commits
+ (merged to 'next' on 2021-12-07 at ebf31cbaad)
+ + t/t*: remove custom GIT_TRACE2_EVENT_NESTING
+ + test-lib.sh: set GIT_TRACE2_EVENT_NESTING
-* em/missing-pager (2021-11-24) 1 commit
- (merged to 'next' on 2021-12-03 at 22ad721b52)
- + pager: fix crash when pager program doesn't exist
+ The default setting for trace2 event nesting was too low to cause
+ test failures, which is worked around by bumping it up in the test
+ framework.
+ source: <pull.1085.git.1638193666.gitgitgadget@gmail.com>
- When a non-existent program is given as the pager, we tried to
- reuse an uninitialized child_process structure and crashed, which
- has been fixed.
- source: <20211125000239.2336-1-ematsumiya@suse.de>
+* en/zdiff3 (2021-12-01) 2 commits
+ (merged to 'next' on 2021-12-07 at baa3b24593)
+ + update documentation for new zdiff3 conflictStyle
+ + xdiff: implement a zealous diff3, or "zdiff3"
-* en/rebase-x-fix (2021-11-29) 1 commit
- (merged to 'next' on 2021-12-03 at a833829733)
- + sequencer: avoid adding exec commands for non-commit creating commands
+ "Zealous diff3" style of merge conflict presentation has been added.
+ source: <pull.1036.v5.git.git.1638317108.gitgitgadget@gmail.com>
- "git rebase -x" added an unnecessary 'exec' instructions before
- 'noop', which has been corrected.
- source: <pull.1149.git.git.1638244719381.gitgitgadget@gmail.com>
+* es/doc-stdout-vs-stderr (2021-12-04) 1 commit
+ (merged to 'next' on 2021-12-07 at d6487c1256)
+ + CodingGuidelines: document which output goes to stdout vs. stderr
-* gc/remote-with-fewer-static-global-variables (2021-11-18) 5 commits
- (merged to 'next' on 2021-12-02 at d7ea1696e5)
- + remote: die if branch is not found in repository
- + remote: remove the_repository->remote_state from static methods
- + remote: use remote_state parameter internally
- + remote: move static variables into per-repository struct
- + t5516: add test case for pushing remote refspecs
+ Coding guideline document has been updated to clarify what goes to
+ standard error in our system.
+ source: <20211202223110.22062-1-sunshine@sunshineco.com>
- Code clean-up to eventually allow information on remotes defined
- for an arbitrary repository to be read.
- source: <20211118005325.64971-1-chooglen@google.com>
+* es/pretty-describe-more (2021-11-01) 3 commits
+ (merged to 'next' on 2021-12-07 at e7862a34c8)
+ + pretty: add abbrev option to %(describe)
+ + pretty: add tag option to %(describe)
+ + pretty.c: rework describe options parsing for better extensibility
-* hk/ci-checkwhitespace-commentfix (2021-11-19) 1 commit
- (merged to 'next' on 2021-12-02 at 971178fe99)
- + ci(check-whitespace): update stale file top comments
+ Extend "git log --format=%(describe)" placeholder to allow passing
+ selected command-line options to the underlying "git describe"
+ command.
+ source: <20211031171510.1646396-1-eschwartz@archlinux.org>
- Comment fix.
- source: <pull.1143.git.git.1637347813367.gitgitgadget@gmail.com>
+* es/worktree-chatty-to-stderr (2021-12-04) 2 commits
+ (merged to 'next' on 2021-12-07 at 84ba7de37c)
+ + git-worktree.txt: add missing `-v` to synopsis for `worktree list`
+ + worktree: send "chatty" messages to stderr
-* hn/create-reflog-simplify (2021-11-22) 1 commit
- (merged to 'next' on 2021-12-02 at 87ff49b776)
- + refs: drop force_create argument of create_reflog API
- (this branch is used by hn/reftable-coverity-fixes.)
+ "git worktree add" showed "Preparing worktree" message to the
+ standard output stream, but when it failed, the message from die()
+ went to the standard error stream. Depending on the order the
+ stdio streams are flushed at the program end, this resulted in
+ confusing output. It has been corrected by sending all the chatty
+ messages to the standard error stream.
+ source: <20211203034420.47447-1-sunshine@sunshineco.com>
- A small simplification of API.
- source: <pull.1144.git.git.1637590749342.gitgitgadget@gmail.com>
+* ew/cbtree-remove-unused-and-broken-cb-unlink (2021-12-07) 1 commit
+ (merged to 'next' on 2021-12-07 at e37b4e16d0)
+ + cbtree: remove broken and unused cb_unlink
-* if/redact-packfile-uri (2021-11-11) 2 commits
- (merged to 'next' on 2021-12-02 at 81213be9ac)
- + http-fetch: redact url on die() message
- + fetch-pack: redact packfile urls in traces
+ Code clean-up.
+ source: <20211207183810.688481-1-e@80x24.org>
- Redact the path part of packfile URI that appears in the trace output.
- source: <pull.1052.v7.git.1636588289.gitgitgadget@gmail.com>
+* ew/test-wo-fsync (2021-10-29) 1 commit
+ (merged to 'next' on 2021-12-08 at 4b90e4870a)
+ + tests: disable fsync everywhere
-* ja/doc-cleanup (2021-11-09) 10 commits
- (merged to 'next' on 2021-12-02 at f72204942f)
- + init doc: --shared=0xxx does not give umask but perm bits
- + doc: git-init: clarify file modes in octal.
- + doc: git-http-push: describe the refs as pattern pairs
- + doc: uniformize <URL> placeholders' case
- + doc: use three dots for indicating repetition instead of star
- + doc: git-ls-files: express options as optional alternatives
- + doc: use only hyphens as word separators in placeholders
- + doc: express grammar placeholders between angle brackets
- + doc: split placeholders as individual tokens
- + doc: fix git credential synopsis
+ Allow running our tests while disabling fsync.
+ Received a lukewarm reactions overall. Perhaps we should drop instead?
+ source: <20211029001552.GA29647@dcvr>
- Doc update.
- source: <20211106184858.11500-1-jn.avila@free.fr>
+* fs/test-prereq (2021-12-01) 3 commits
+ (merged to 'next' on 2021-12-07 at fc8a8e0006)
+ + test-lib: make BAIL_OUT() work in tests and prereq
+ + test-lib: introduce required prereq for test runs
+ + test-lib: show missing prereq summary
-* jc/fix-first-object-walk (2021-10-29) 2 commits
- (merged to 'next' on 2021-12-02 at 43a5c1ec03)
- + docs: add headers in MyFirstObjectWalk
- + docs: fix places that break compilation in MyFirstObjectWalk
+ The test framework learns to list unsatisfied test prerequisites,
+ and optionally error out when prerequisites that are expected to be
+ satisfied are not.
+ source: <20211201085315.576865-1-fs@gigacodes.de>
- Doc update.
- source: <pull.1063.v3.git.1635537163.gitgitgadget@gmail.com>
+* hn/allow-bogus-oid-in-ref-tests (2021-12-07) 8 commits
+ (merged to 'next' on 2021-12-08 at 8fb70ef68b)
+ + t1430: create valid symrefs using test-helper
+ + t1430: remove refs using test-tool
+ + refs: introduce REF_SKIP_REFNAME_VERIFICATION flag
+ + refs: introduce REF_SKIP_OID_VERIFICATION flag
+ + refs: update comment.
+ + test-ref-store: plug memory leak in cmd_delete_refs
+ + test-ref-store: parse symbolic flag constants
+ + test-ref-store: remove force-create argument for create-reflog
-* jk/fetch-pack-avoid-sigpipe-to-index-pack (2021-11-19) 1 commit
- (merged to 'next' on 2021-12-02 at e2cc1ae46a)
- + fetch-pack: ignore SIGPIPE when writing to index-pack
+ The test helper for refs subsystem learned to write bogus and/or
+ nonexistent object name to refs to simulate error situations we
+ want to test Git in.
+ source: <pull.1147.v4.git.git.1638884300.gitgitgadget@gmail.com>
- "git fetch", when received a bad packfile, can fail with SIGPIPE.
- This wasn't wrong per-se, but we now detect the situation and fail
- in a more predictable way.
- source: <YZgQD3lrw4+i4EMd@coredump.intra.peff.net>
+* hn/reflog-tests (2021-12-02) 5 commits
+ (merged to 'next' on 2021-12-07 at 84d4e4b211)
+ + refs/debug: trim trailing LF from reflog message
+ + test-ref-store: tweaks to for-each-reflog-ent format
+ + t1405: check for_each_reflog_ent_reverse() more thoroughly
+ + test-ref-store: don't add newline to reflog message
+ + show-branch: show reflog message
-* jk/jump-merge-with-pathspec (2021-11-09) 1 commit
- (merged to 'next' on 2021-12-02 at fea901973d)
- + git-jump: pass "merge" arguments to ls-files
+ Prepare tests on ref API to help testing reftable backends.
+ source: <pull.1145.v3.git.git.1638466593.gitgitgadget@gmail.com>
- The "merge" subcommand of "git jump" (in contrib/) silently ignored
- pathspec and other parameters.
- source: <YYqjY/zcBWyqY8/5@coredump.intra.peff.net>
+* hn/reftable (2021-10-08) 19 commits
+ (merged to 'next' on 2021-12-03 at 767ec5d9b3)
+ + Add "test-tool dump-reftable" command.
+ + reftable: add dump utility
+ + reftable: implement stack, a mutable database of reftable files.
+ + reftable: implement refname validation
+ + reftable: add merged table view
+ + reftable: add a heap-based priority queue for reftable records
+ + reftable: reftable file level tests
+ + reftable: read reftable files
+ + reftable: generic interface to tables
+ + reftable: write reftable files
+ + reftable: a generic binary tree implementation
+ + reftable: reading/writing blocks
+ + Provide zlib's uncompress2 from compat/zlib-compat.c
+ + reftable: (de)serialization for the polymorphic record type.
+ + reftable: add blocksource, an abstraction for random access reads
+ + reftable: utility functions
+ + reftable: add error related functionality
+ + reftable: add LICENSE
+ + hash.h: provide constants for the hash IDs
+ (this branch is used by hn/reftable-coverity-fixes.)
-* jk/refs-g11-workaround (2021-11-19) 1 commit
- (merged to 'next' on 2021-12-02 at 1025235670)
- + refs: work around gcc-11 warning with REF_HAVE_NEW
+ The "reftable" backend for the refs API, without integrating into
+ the refs subsystem, has been added.
+ source: <pull.1081.v4.git.git.1633638315.gitgitgadget@gmail.com>
- Workaround for a false-alarm by gcc-11
- source: <YZgW/pz6CbpaywDa@coredump.intra.peff.net>
+* hn/t1404-df-limitation-is-ref-files-only (2021-11-29) 1 commit
+ (merged to 'next' on 2021-12-07 at 074438a4ba)
+ + t1404: mark directory/file conflict tests with REFFILES
-* jk/strbuf-addftime-seconds-since-epoch (2021-11-04) 1 commit
- (merged to 'next' on 2021-12-02 at d0b158d899)
- + strbuf_addftime(): handle "%s" manually
+ Test update.
+ source: <pull.1148.v2.git.git.1638210022966.gitgitgadget@gmail.com>
- The "--date=format:<strftime>" gained a workaround for the lack of
- system support for a non-local timezone to handle "%s" placeholder.
- source: <YYEihoLbEGi44dDb@coredump.intra.peff.net>
+* jc/reflog-iterator-callback-doc (2021-11-28) 1 commit
+ (merged to 'next' on 2021-12-08 at ba5693952d)
+ + refs: document callback for reflog-ent iterators
-* jk/t5319-midx-corruption-test-deflake (2021-11-18) 1 commit
- (merged to 'next' on 2021-12-02 at 0ac4fd64aa)
- + t5319: corrupt more bytes of the midx checksum
+ Document the parameters given to the reflog entry iterator callback
+ functions.
+ source: <xmqqk0gs5bgw.fsf@gitster.g>
- Test fix.
- source: <YZQk6t1veegeAlYh@coredump.intra.peff.net>
+* js/test-initial-branch-override-cleanup (2021-12-05) 1 commit
+ (merged to 'next' on 2021-12-07 at 0ab3e72b4f)
+ + tests: set GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME only when needed
-* jk/t7006-sigpipe-tests-fix (2021-11-22) 3 commits
- (merged to 'next' on 2021-12-02 at eefd61931f)
- + t7006: simplify exit-code checks for sigpipe tests
- + t7006: clean up SIGPIPE handling in trace2 tests
- + run-command: unify signal and regular logic for wait_or_whine()
+ Many tests that used to need GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+ mechanism to force "git" to use 'master' as the default name for
+ the initial branch no longer need it; the use of the mechanism from
+ them have been removed.
+ source: <pull.1089.git.1638524353230.gitgitgadget@gmail.com>
- The function to cull a child process and determine the exit status
- had two separate code paths for normal callers and callers in a
- signal handler, and the latter did not yield correct value when the
- child has caught a signal. The handling of the exit status has
- been unified for these two code paths. An existing test with
- flakiness has also been corrected.
- source: <YZrSALOrdhuunHwp@coredump.intra.peff.net>
+* re/color-default-reset (2021-10-28) 3 commits
+ (merged to 'next' on 2021-12-08 at ab3ff50ce2)
+ + color: allow colors to be prefixed with "reset"
+ + color: support "default" to restore fg/bg color
+ + color: add missing GIT_COLOR_* white/black constants
-* jk/test-bitmap-fix (2021-11-05) 1 commit
- (merged to 'next' on 2021-12-02 at c273d402fb)
- + test_bitmap_hashes(): handle repository without bitmaps
+ "default" and "reset" colors have been added to our palette.
+ Seems to have stalled, but I am OK to merge it as-is.
+ cf. <881B4747-B0B5-459B-B673-06972275A8B8@gmail.com>
+ source: <pull.1117.git.git.1635210227532.gitgitgadget@gmail.com>
+ source: <pull.1116.git.git.1635201156.gitgitgadget@gmail.com>
- Tighten code for testing pack-bitmap.
- source: <YYTy6+DG5guzJIO7@coredump.intra.peff.net>
+* rj/receive-pack-avoid-sigpipe-during-status-reporting (2021-11-10) 1 commit
+ (merged to 'next' on 2021-12-07 at 91039a781e)
+ + receive-pack: ignore SIGPIPE while reporting status to client
-* js/ci-no-directional-formatting (2021-11-04) 1 commit
- (merged to 'next' on 2021-12-02 at bc756bc586)
- + ci: disallow directional formatting
+ When the "git push" command is killed while the receiving end is
+ trying to report what happened to the ref update proposals, the
+ latter used to die, due to SIGPIPE. The code now ignores SIGPIPE
+ to increase our chances to run the post-receive hook after it
+ happens.
+ source: <20211110092942.1648429-1-robin@jarry.cc>
- CI has been taught to catch some Unicode directional formatting
- sequence that can be used in certain mischief.
- source: <pull.1071.v3.git.1636031609982.gitgitgadget@gmail.com>
+* tb/pack-revindex-on-disk-cleanup (2021-12-04) 1 commit
+ (merged to 'next' on 2021-12-07 at 912c270b70)
+ + packfile: make `close_pack_revindex()` static
-* js/trace2-avoid-recursive-errors (2021-11-18) 1 commit
- (merged to 'next' on 2021-12-02 at c5b1e5ddec)
- + trace2: disable tr2_dst before warning on write errors
+ Code clean-up.
+ source: <dad2b73c84f1c1575a6bce04a449ee1236680b10.1638658219.git.me@ttaylorr.com>
- trace2 error code path fix.
- source: <5a9e49e7f1540d762374382e1769edf112cf093f.1637272706.git.steadmon@google.com>
+--------------------------------------------------
+[New Topics]
+* es/chainlint (2021-12-13) 15 commits
+ (merged to 'next' on 2021-12-15 at 49b7a37334)
+ + chainlint.sed: stop splitting "(..." into separate lines "(" and "..."
+ + chainlint.sed: swallow comments consistently
+ + chainlint.sed: stop throwing away here-doc tags
+ + chainlint.sed: don't mistake `<< word` in string as here-doc operator
+ + chainlint.sed: make here-doc "<<-" operator recognition more POSIX-like
+ + chainlint.sed: drop subshell-closing ">" annotation
+ + chainlint.sed: drop unnecessary distinction between ?!AMP?! and ?!SEMI?!
+ + chainlint.sed: tolerate harmless ";" at end of last line in block
+ + chainlint.sed: improve ?!SEMI?! placement accuracy
+ + chainlint.sed: improve ?!AMP?! placement accuracy
+ + t/Makefile: optimize chainlint self-test
+ + t/chainlint/one-liner: avoid overly intimate chainlint.sed knowledge
+ + t/chainlint/*.test: generalize self-test commentary
+ + t/chainlint/*.test: fix invalid test cases due to mixing quote types
+ + t/chainlint/*.test: don't use invalid shell syntax
+
+ The chainlint test script linter in the test suite has been updated.
-* jt/midx-doc-fix (2021-11-22) 1 commit
- (merged to 'next' on 2021-12-02 at eac9f263ae)
- + Doc: no midx and partial clone relation
+ Will merge to 'master'.
+ source: <20211213063059.19424-1-sunshine@sunshineco.com>
- Docfix.
- source: <20211122184114.3328662-1-jonathantanmy@google.com>
+* jh/p4-rcs-expansion-in-bytestring (2021-12-13) 4 commits
+ - git-p4: resolve RCS keywords in binary
+ - git-p4: add raw option to read_pipelines
+ - git-p4: pre-compile RCS keyword regexes
+ - git-p4: use with statements to close files after use in patchRCSKeywords
-* jt/pack-header-lshift-overflow (2021-11-11) 1 commit
- (merged to 'next' on 2021-12-02 at 89c37479db)
- + packfile: avoid overflowing shift during decode
+ The RCS keyword substitution in "git p4" used to be done assuming
+ that the contents are UTF-8 text, which can trigger decoding
+ errors. We now treat the contents as a bytestring for robustness
+ and correctness.
- The code to decode the length of packed object size has been
- corrected.
- source: <20211110234033.3144165-1-jonathantanmy@google.com>
+ Will merge to 'next'?
+ source: <20211213225441.1865782-1-jholdsworth@nvidia.com>
-* mp/absorb-submodule-git-dir-upon-deinit (2021-11-19) 1 commit
- (merged to 'next' on 2021-12-03 at afc462a692)
- + submodule: absorb git dir instead of dying on deinit
+* jz/apply-quiet-and-allow-empty (2021-12-13) 2 commits
+ (merged to 'next' on 2021-12-15 at e3f643eaa3)
+ + git-apply: add --allow-empty flag
+ + git-apply: add --quiet flag
- "git submodule deinit" for a submodule whose .git metadata
- directory is embedded in its working tree refused to work, until
- the submodule gets converted to use the "absorbed" form where the
- metadata directory is stored in superproject, and a gitfile at the
- top-level of the working tree of the submodule points at it. The
- command is taught to convert such submodules to the absorbed form
- as needed.
- source: <pull.1078.v7.git.git.1637319387717.gitgitgadget@gmail.com>
+ "git apply" has been taught to ignore a message without a patch
+ with the "--allow-empty" option. It also learned to honor the
+ "--quiet" option given from the command line.
+ Will merge to 'master'.
+ source: <20211213220327.16042-2-jerry@skydio.com>
-* po/size-t-for-vs (2021-12-01) 3 commits
- (merged to 'next' on 2021-12-02 at 489c5b0046)
- + object-file.c: LLP64 compatibility, upcast unity for left shift
- + diffcore-delta.c: LLP64 compatibility, upcast unity for left shift
- + repack.c: LLP64 compatibility, upcast unity for left shift
- On platforms where ulong is shorter than size_t, code paths that
- shifted 1 or 1U to the left lacked the necessary cast to size_t,
- which have been corrected.
- source: <20211201002902.1042-4-philipoakley@iee.email>
+* ds/sparse-checkout-malformed-pattern-fix (2021-12-15) 3 commits
+ - sparse-checkout: refuse to add to bad patterns
+ - sparse-checkout: fix OOM error with mixed patterns
+ - sparse-checkout: fix segfault on malformed patterns
+ source: <pull.1069.v3.git.1639575968.gitgitgadget@gmail.com>
-* rs/mergesort (2021-11-18) 1 commit
- (merged to 'next' on 2021-12-02 at 0490b0ffbd)
- + mergesort: avoid left shift overflow
- Bitop fix for platforms whose "long" is 32-bit.
- source: <5eabbe1c-4c0f-559a-da21-423afec89e7e@web.de>
+* gc/branch-recurse-submodules (2021-12-15) 6 commits
+ - branch.c: replace questionable exit() codes
+ - branch: add --recurse-submodules option for branch creation
+ - builtin/branch: clean up action-picking logic in cmd_branch()
+ - branch: remove forward declaration of validate_branch_start()
+ - branch: move --set-upstream-to behavior to setup_tracking()
+ - Merge branch 'js/branch-track-inherit' into gc/branch-recurse-submodules
+ (this branch uses js/branch-track-inherit.)
+ source: <20211209184928.71413-1-chooglen@google.com>
-* tl/midx-docfix (2021-11-18) 1 commit
- (merged to 'next' on 2021-12-02 at 0fae3ebdef)
- + midx: fix a formatting issue in "multi-pack-index.txt"
- Doc mark-up fix.
- source: <9b910a44f4143c94787110a688f2b17ba4eeb0fc.1637218943.git.dyroneteng@gmail.com>
+* jk/ssh-signing-doc-markup-fix (2021-12-15) 1 commit
+ - doc/config: mark ssh allowedSigners example as literal
+ source: <YboWlOG3vZD/7Osx@coredump.intra.peff.net>
-* tw/var-default-branch (2021-11-03) 1 commit
- (merged to 'next' on 2021-12-02 at 944512852e)
- + var: add GIT_DEFAULT_BRANCH variable
- "git var GIT_DEFAULT_BRANCH" is a way to see what name is used for
- the newly created branch if "git init" is run.
- source: <20211103201702.117771-1-thomas@t-8ch.de>
+* jv/use-larger-buffer-in-upload-pack (2021-12-15) 1 commit
+ - upload-pack.c: increase output buffer size
+ source: <20211214194626.33814-1-jacob@gitlab.com>
-* vd/sparse-reset (2021-11-29) 8 commits
- (merged to 'next' on 2021-12-02 at 47b1095f39)
- + unpack-trees: improve performance of next_cache_entry
- + reset: make --mixed sparse-aware
- + reset: make sparse-aware (except --mixed)
- + reset: integrate with sparse index
- + reset: expand test coverage for sparse checkouts
- + sparse-index: update command for expand/collapse test
- + reset: preserve skip-worktree bit in mixed reset
- + reset: rename is_missing to !is_in_reset_tree
- (this branch is used by ds/fetch-pull-with-sparse-index and ld/sparse-diff-blame.)
+--------------------------------------------------
+[Stalled]
- Various operating modes of "git reset" have been made to work
- better with the sparse index.
- source: <pull.1048.v6.git.1638201164.gitgitgadget@gmail.com>
+* cb/save-term-across-editor-invocation (2021-12-01) 3 commits
+ - fixup! editor: allow for saving/restoring terminal state
+ - editor: allow for saving/restoring terminal state
+ - terminal: teach save_term to fail when not foreground
+ Some editors are reported to leave the terminal in funny state
+ after they exit on Windows. Work it around by saving and restoring
+ the terminal state when needed.
-* vd/sparse-sparsity-fix-on-read (2021-11-24) 4 commits
- (merged to 'next' on 2021-12-02 at 1ec68669cb)
- + sparse-index: update do_read_index to ensure correct sparsity
- + sparse-index: add ensure_correct_sparsity function
- + sparse-index: avoid unnecessary cache tree clearing
- + test-read-cache.c: prepare_repo_settings after config init
+ Expecting a reroll.
+ cf. <CAPUEsphktbdxeV7hvF52Or3CVHS8oOk5-WV=xfEZa8kfCVVnVg@mail.gmail.com>
+ source: <20211202035446.1154-1-carenas@gmail.com>
- Ensure that the sparseness of the in-core index matches the
- index.sparse configuration specified by the repository immediately
- after the on-disk index file is read.
- source: <pull.1059.v5.git.1637626833.gitgitgadget@gmail.com>
+* ar/submodule-update (2021-10-13) 9 commits
+ . submodule--helper: rename helper functions
+ . submodule--helper: remove unused helpers
+ . submodule: move core cmd_update() logic to C
+ . submodule--helper: run update using child process struct
+ . submodule--helper: allow setting superprefix for init_submodule()
+ . submodule--helper: refactor get_submodule_displaypath()
+ . submodule--helper: rename helpers for update-clone
+ . submodule--helper: get remote names from any repository
+ . submodule--helper: split up ensure_core_worktree()
-* yn/complete-date-format-options (2021-11-25) 1 commit
- (merged to 'next' on 2021-12-03 at 4f37a904a1)
- + completion: add human and auto: date format
+ Rewrite of "git submodule update" in C.
- The completion script (in contrib/) learns that the "--date"
- option of commands from the "git log" family takes "human" and
- "auto" as valid values.
- source: <pull.1083.git.1637666875171.gitgitgadget@gmail.com>
+ Expecting a reroll?
+ cf. <YWiXL+plA7GHfuVv@google.com>
+ source: <20211013051805.45662-10-raykar.ath@gmail.com>
--------------------------------------------------
-[New Topics]
+[Cooking]
-* en/sparse-checkout-set (2021-12-08) 10 commits
+* en/sparse-checkout-set (2021-12-15) 10 commits
- clone: avoid using deprecated `sparse-checkout init`
- Documentation: clarify/correct a few sparsity related statements
- git-sparse-checkout.txt: update to document init/set/reapply changes
- sparse-checkout: break apart functions for sparse_checkout_(set|add)
- sparse-checkout: pass use_stdin as a parameter instead of as a global
-
The "init" and "set" subcommands in "git sparse-checkout" have been
unified for a better user experience and performance.
- Need to check the reroll.
- cf. <pull.1151.v3.git.git.1639108573.gitgitgadget@gmail.com>
- source: <pull.1151.v2.git.git.1638908410.gitgitgadget@gmail.com>
+ Will merge to 'next'.
+ source: <pull.1151.v4.git.git.1639454952.gitgitgadget@gmail.com>
-* hn/reftable-coverity-fixes (2021-12-08) 13 commits
+* hn/reftable-coverity-fixes (2021-12-15) 13 commits
- reftable: make reftable_record a tagged union
- reftable: handle null refnames in reftable_ref_record_equal
- reftable: drop stray printf in readwrite_test
- reftable: order unittests by complexity
- - reftable: fix NULL derefs in error paths
+ - reftable: all xxx_free() functions accept NULL arguments
- reftable: fix resource warning
- reftable: ignore remove() return value in stack_test.c
- reftable: check reftable_stack_auto_compact() return value
- reftable: fix resource leak blocksource.c
- - reftable: fix resource leak in error path
+ - reftable: fix resource leak in block.c error path
- reftable: fix OOB stack write in print functions
- Merge branch 'hn/create-reflog-simplify' into hn/reftable-coverity-fixes
- Merge branch 'hn/reftable' into hn/reftable-coverity-fixes
- (this branch uses hn/reftable.)
Problems identified by Coverity in the reftable code have been
corrected.
- source: <pull.1152.v2.git.git.1639000187.gitgitgadget@gmail.com>
-
-
-* jc/make-test-all (2021-12-08) 1 commit
- - Makefile: add test-all target
-
- "make test" target in subdirectories of contrib/ are now exercised
- in CI tests.
-
- source: <xmqqh7bi27o9.fsf@gitster.g>
+ Will merge to 'next'?
+ source: <pull.1152.v4.git.git.1639482476.gitgitgadget@gmail.com>
* jk/limit-developers-to-gnu99 (2021-12-08) 2 commits
- - config.mak.dev: specify -std=gnu99 for gcc/clang
- - Merge branch 'bc/require-c99' into jk/limit-developers-to-gnu99
+ (merged to 'next' on 2021-12-15 at 6b40e01445)
+ + config.mak.dev: specify -std=gnu99 for gcc/clang
+ + Merge branch 'bc/require-c99' into jk/limit-developers-to-gnu99
Enable -std=gnu99 option in DEVELOPER builds.
- Will merge to 'next'.
+ Will merge to 'master'.
source: <YbEMnksMEuAz3Nt0@coredump.intra.peff.net>
-* tb/midx-bitmap-corruption-fix (2021-12-08) 2 commits
+* tb/midx-bitmap-corruption-fix (2021-12-15) 9 commits
+ - fixup! midx: read `RIDX` chunk when present
+ - midx: read `RIDX` chunk when present
+ - t/lib-bitmap.sh: parameterize tests over reverse index source
+ - t5326: move tests to t/lib-bitmap.sh
+ - t5326: extract `test_rev_exists`
+ - t5326: drop unnecessary setup
+ - pack-revindex.c: instrument loading on-disk reverse index
- midx.c: make changing the preferred pack safe
- t5326: demonstrate bitmap corruption after permutation
A bug that made multi-pack bitmap and the object order out-of-sync
(hence the .midx data gets corrupted) has been fixed.
-
- Will merge to 'next'?
- source: <cover.1638991570.git.me@ttaylorr.com>
+ source: <cover.1639446906.git.me@ttaylorr.com>
-* es/test-chain-lint (2021-12-09) 19 commits
+* es/test-chain-lint (2021-12-13) 19 commits
- t6000-t9999: detect and signal failure within loop
- t5000-t5999: detect and signal failure within loop
- t4000-t4999: detect and signal failure within loop
Broken &&-chains in the test scripts have been corrected.
- Will merge to 'next'?
+ Will merge to 'next'.
source: <20211209051115.52629-1-sunshine@sunshineco.com>
* jc/flex-array-definition (2021-12-08) 1 commit
- - flex-array: simplify compiler-specific workaround
-
- The conditions to choose different definitions of the FLEX_ARRAY
- macro for vendor compilers has been simplified to make it easier to
- maintain.
-
- Will merge to 'next'?
- source: <pull.1094.git.1638823724410.gitgitgadget@gmail.com>
-
-
-* jh/make-p4-python3-only (2021-12-09) 6 commits
- - git-p4: Resolve RCS keywords in binary
- - git-p4: Eliminate decode_stream and encode_stream
- - git-p4: Decode byte strings before printing
- - git-p4: Removed support for Python 2
- - git-p4: Don't print shell commands as python lists
- - git-p4: Always pass cmd arguments to subprocess as a python lists
-
- Support for Python2 in "git p4" has been removed (not just
- deprecated).
-
- Need to check the reroll.
- cf. <20211210153101.35433-1-jholdsworth@nvidia.com>
- source: <20211209201029.136886-1-jholdsworth@nvidia.com>
-
---------------------------------------------------
-[Stalled]
-
-* ar/submodule-update (2021-10-13) 9 commits
- . submodule--helper: rename helper functions
- . submodule--helper: remove unused helpers
- . submodule: move core cmd_update() logic to C
- . submodule--helper: run update using child process struct
- . submodule--helper: allow setting superprefix for init_submodule()
- . submodule--helper: refactor get_submodule_displaypath()
- . submodule--helper: rename helpers for update-clone
- . submodule--helper: get remote names from any repository
- . submodule--helper: split up ensure_core_worktree()
-
- Rewrite of "git submodule update" in C.
-
- Expecting a reroll?
- cf. <YWiXL+plA7GHfuVv@google.com>
- source: <20211013051805.45662-10-raykar.ath@gmail.com>
-
-
-* ms/customizable-ident-expansion (2021-09-01) 1 commit
- - keyword expansion: make "$Id$" string configurable
+ - flex-array: simplify compiler-specific workaround
- Instead of "$Id$", user-specified string (like $FreeBSD$) can be
- used as an in-blob placeholder for keyword expansion.
+ The conditions to choose different definitions of the FLEX_ARRAY
+ macro for vendor compilers has been simplified to make it easier to
+ maintain.
- Will discard.
- Stalled for too long.
- cf. <xmqqfsuosvrh.fsf@gitster.g>
- cf. <211101.86fssf3bn3.gmgdl@evledraar.gmail.com>
- source: <pull.1074.v3.git.git.1630462385587.gitgitgadget@gmail.com>
+ Will merge to 'next'?
+ source: <pull.1094.git.1638823724410.gitgitgadget@gmail.com>
---------------------------------------------------
-[Cooking]
* pw/fix-some-issues-in-reset-head (2021-12-08) 14 commits
- rebase -m: don't fork git checkout
source: <20211202102855.23907-1-jengelh@inai.de>
-* es/doc-stdout-vs-stderr (2021-12-04) 1 commit
- (merged to 'next' on 2021-12-07 at d6487c1256)
- + CodingGuidelines: document which output goes to stdout vs. stderr
-
- Coding guideline document has been updated to clarify what goes to
- standard error i nour system.
-
- Will merge to 'master'.
- source: <20211202223110.22062-1-sunshine@sunshineco.com>
-
-
-* tb/pack-revindex-on-disk-cleanup (2021-12-04) 1 commit
- (merged to 'next' on 2021-12-07 at 912c270b70)
- + packfile: make `close_pack_revindex()` static
-
- Code clean-up.
-
- Will merge to 'master'.
- source: <dad2b73c84f1c1575a6bce04a449ee1236680b10.1638658219.git.me@ttaylorr.com>
-
-
-* ds/sparse-deep-pattern-checkout-fix (2021-12-06) 2 commits
- (merged to 'next' on 2021-12-07 at 7b7f74216a)
- + unpack-trees: use traverse_path instead of name
- + t1092: add deeper changes during a checkout
-
- The sparse-index/sparse-checkout feature had a bug in its use of
- the matching code to determine which path is in or outside the
- sparse checkout patterns.
-
- Will merge to 'master'.
- source: <pull.1092.v2.git.1638799837.gitgitgadget@gmail.com>
-
-
* en/name-rev-shorter-output (2021-12-04) 1 commit
(merged to 'next' on 2021-12-10 at ae8ec3912f)
+ name-rev: prefer shorter names over following merges
source: <pull.1134.v3.git.git.1638596219656.gitgitgadget@gmail.com>
-* es/worktree-chatty-to-stderr (2021-12-04) 2 commits
- (merged to 'next' on 2021-12-07 at 84ba7de37c)
- + git-worktree.txt: add missing `-v` to synopsis for `worktree list`
- + worktree: send "chatty" messages to stderr
-
- "git worktree add" showed "Preparing worktree" message to the
- standard output stream, but when it failed, the message from die()
- went to the standard error stream. Depending on the order the
- stdio streams are flushed at the program end, this resulted in
- confusing output. It has been corrected by sending all the chatty
- messages to the standard error stream.
-
- Will merge to 'master'.
- source: <20211203034420.47447-1-sunshine@sunshineco.com>
-
-
* ja/i18n-similar-messages (2021-12-05) 10 commits
- i18n: ref-filter: factorize "%(foo) atom used without %(bar) atom"
- i18n: factorize "--foo outside a repository"
source: <pull.1088.git.1638514909.gitgitgadget@gmail.com>
-* js/test-initial-branch-override-cleanup (2021-12-05) 1 commit
- (merged to 'next' on 2021-12-07 at 0ab3e72b4f)
- + tests: set GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME only when needed
-
- Many tests that used to need GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
- mechanism to force "git" to use 'master' as the default name for
- the initial branch no longer need it; the use of the mechanism from
- them have been removed.
-
- Will merge to 'master'.
- source: <pull.1089.git.1638524353230.gitgitgadget@gmail.com>
-
-
-* ab/die-with-bug (2021-12-07) 4 commits
- (merged to 'next' on 2021-12-08 at 9b7440fafd)
- + object.c: use BUG(...) no die("BUG: ...") in lookup_object_by_type()
- + pathspec: use BUG(...) not die("BUG:%s:%d....", <file>, <line>)
- + strbuf.h: use BUG(...) not die("BUG: ...")
- + pack-objects: use BUG(...) not die("BUG: ...")
-
- Code clean-up.
-
- Will merge to 'master'.
- source: <cover-v2-0.4-00000000000-20211207T110440Z-avarab@gmail.com>
-
-
* ab/usage-die-message (2021-12-07) 6 commits
- config API: use get_error_routine(), not vreportf()
- usage.c + gc: add and use a die_message_errno()
source: <cover-v2-0.6-00000000000-20211207T182419Z-avarab@gmail.com>
-* js/compat-util-msvc-flex-array (2021-12-06) 1 commit
- - git-compat-util(msvc): C11 does not imply support for zero-sized arrays
-
- MSVC build started to break on flex arrays?
-
- Will merge to 'next'?
- source: <pull.1094.git.1638823724410.gitgitgadget@gmail.com>
-
-
* ab/common-main-cleanup (2021-12-07) 1 commit
- - common-main.c: call exit(), don't return
+ (merged to 'next' on 2021-12-15 at ff08c86f65)
+ + common-main.c: call exit(), don't return
Code clean-up.
- Will merge to 'next'?
+ Will merge to 'master'.
source: <patch-v2-1.1-4f52ecc94ba-20211207T101207Z-avarab@gmail.com>
* ab/fetch-set-upstream-while-detached (2021-12-07) 1 commit
- - pull, fetch: fix segfault in --set-upstream option
+ (merged to 'next' on 2021-12-15 at d0406f880a)
+ + pull, fetch: fix segfault in --set-upstream option
"git fetch --set-upstream" did not check if there is a current
branch, leading to a segfault when it is run on a detached HEAD,
which has been corrected.
- Will merge to 'next'.
- source: <patch-v5-1.1-69ab40d623b-20211207T215115Z-avarab@gmail.com>
-
-
-* ew/cbtree-remove-unused-and-broken-cb-unlink (2021-12-07) 1 commit
- (merged to 'next' on 2021-12-07 at e37b4e16d0)
- + cbtree: remove broken and unused cb_unlink
-
- Code clean-up.
-
Will merge to 'master'.
- source: <20211207183810.688481-1-e@80x24.org>
+ source: <patch-v5-1.1-69ab40d623b-20211207T215115Z-avarab@gmail.com>
* ab/cat-file (2021-12-08) 10 commits
source: <cover-v4-0.7-00000000000-20211203T101348Z-avarab@gmail.com>
-* js/use-builtin-add-i (2021-12-08) 3 commits
- - fixup! add -i: default to the built-in implementation
+* js/use-builtin-add-i (2021-12-01) 2 commits
- add -i: default to the built-in implementation
- t2016: require the PERL prereq only when necessary
source: <pull.1087.git.1638281655.gitgitgadget@gmail.com>
-* jt/conditional-config-on-remote-url (2021-12-04) 2 commits
+* jt/conditional-config-on-remote-url (2021-12-15) 2 commits
- config: include file if remote URL matches a glob
- config: make git_config_include() static
The conditional inclusion mechanism of configuration files using
"[includeIf <condition>]" learns to base its decision on the
URL of the remote repository the repository interacts with.
-
- Needs review.
- source: <cover.1638487815.git.jonathantanmy@google.com>
+ source: <cover.1639509048.git.jonathantanmy@google.com>
* tb/cruft-packs (2021-11-29) 17 commits
source: <cover.1638224692.git.me@ttaylorr.com>
-* cb/save-term-across-editor-invocation (2021-12-01) 3 commits
- - fixup! editor: allow for saving/restoring terminal state
- - editor: allow for saving/restoring terminal state
- - terminal: teach save_term to fail when not foreground
-
- Some editors are reported to leave the terminal in funny state
- after they exit on Windows. Work it around by saving and restoring
- the terminal state when needed.
-
- Expecting a reroll.
- cf. <CAPUEsphktbdxeV7hvF52Or3CVHS8oOk5-WV=xfEZa8kfCVVnVg@mail.gmail.com>
- source: <20211202035446.1154-1-carenas@gmail.com>
-
-
* jk/log-decorate-opts-with-implicit-decorate (2021-12-01) 2 commits
(merged to 'next' on 2021-12-10 at 80585b2755)
+ log: load decorations with --simplify-by-decoration
source: <patch-v5-6.6-78bb0995f08-20211125T215529Z-avarab@gmail.com>
-* ds/trace2-regions-in-tests (2021-11-29) 2 commits
- (merged to 'next' on 2021-12-07 at ebf31cbaad)
- + t/t*: remove custom GIT_TRACE2_EVENT_NESTING
- + test-lib.sh: set GIT_TRACE2_EVENT_NESTING
-
- The default setting for trace2 event nesting was too low to cause
- test failures, which is worked around by bumping it up in the test
- framework.
-
- Will merge to 'master'.
- source: <pull.1085.git.1638193666.gitgitgadget@gmail.com>
-
-
-* hn/allow-bogus-oid-in-ref-tests (2021-12-07) 8 commits
- (merged to 'next' on 2021-12-08 at 8fb70ef68b)
- + t1430: create valid symrefs using test-helper
- + t1430: remove refs using test-tool
- + refs: introduce REF_SKIP_REFNAME_VERIFICATION flag
- + refs: introduce REF_SKIP_OID_VERIFICATION flag
- + refs: update comment.
- + test-ref-store: plug memory leak in cmd_delete_refs
- + test-ref-store: parse symbolic flag constants
- + test-ref-store: remove force-create argument for create-reflog
-
- The test helper for refs subsystem learned to write bogus and/or
- nonexistent object name to refs to simulate error situations we
- want to test Git in.
-
- Will merge to 'master'.
- source: <pull.1147.v4.git.git.1638884300.gitgitgadget@gmail.com>
-
-
-* hn/t1404-df-limitation-is-ref-files-only (2021-11-29) 1 commit
- (merged to 'next' on 2021-12-07 at 074438a4ba)
- + t1404: mark directory/file conflict tests with REFFILES
-
- Test update.
-
- Will merge to 'master'.
- source: <pull.1148.v2.git.git.1638210022966.gitgitgadget@gmail.com>
-
-
-* jc/reflog-iterator-callback-doc (2021-11-28) 1 commit
- (merged to 'next' on 2021-12-08 at ba5693952d)
- + refs: document callback for reflog-ent iterators
-
- Document the parameters given to the reflog entry iterator callback
- functions.
-
- Will merge to 'master'.
- source: <xmqqk0gs5bgw.fsf@gitster.g>
-
-
* jc/grep-patterntype-default-doc (2021-12-05) 1 commit
(merged to 'next' on 2021-12-10 at e46385ad9d)
- + grep: clarify what `grep.patternType=default` means
-
- Doc update.
-
- Will merge to 'master'.
- source: <xmqqy24ykdel.fsf_-_@gitster.g>
-
-
-* ab/ci-updates (2021-11-23) 5 commits
- (merged to 'next' on 2021-12-07 at 1d855a6b33)
- + CI: don't run "make test" twice in one job
- + CI: use "$runs_on_pool", not "$jobname" to select packages & config
- + CI: rename the "Linux32" job to lower-case "linux32"
- + CI: use shorter names that fit in UX tooltips
- + CI: remove Travis CI support
-
- Drop support for TravisCI and update test workflows at GitHub.
-
- Will merge to 'master'.
- source: <cover-v4-0.5-00000000000-20211123T134300Z-avarab@gmail.com>
-
-
-* en/keep-cwd (2021-12-09) 11 commits
- - t2501: simplify the tests since we can now assume desired behavior
- - dir: new flag to remove_dir_recurse() to spare the original_cwd
- - dir: avoid incidentally removing the original_cwd in remove_path()
- - stash: do not attempt to remove startup_info->original_cwd
- - rebase: do not attempt to remove startup_info->original_cwd
- - clean: do not attempt to remove startup_info->original_cwd
- - symlinks: do not include startup_info->original_cwd in dir removal
- - unpack-trees: add special cwd handling
- - unpack-trees: refuse to remove startup_info->original_cwd
- - setup: introduce startup_info->original_cwd
- - t2501: add various tests for removing the current working directory
-
- Many git commands that deal with working tree files try to remove a
- directory that becomes empty (i.e. "git switch" from a branch that
- has the directory to another branch that does not would attempt
- remove all files in the directory and the directory itself). This
- drops users into an unfamiliar situation if the command was run in
- a subdirectory that becomes subject to removal due to the command.
- The commands have been taught to keep an empty directory if it is
- the directory they were started in to avoid surprising users.
-
- Will merge to 'next'?
- source: <pull.1140.v6.git.git.1639026515.gitgitgadget@gmail.com>
-
-
-* ab/run-command (2021-11-25) 9 commits
- (merged to 'next' on 2021-12-07 at 5c0bedf853)
- + run-command API: remove "env" member, always use "env_array"
- + difftool: use "env_array" to simplify memory management
- + run-command API: remove "argv" member, always use "args"
- + run-command API users: use strvec_push(), not argv construction
- + run-command API users: use strvec_pushl(), not argv construction
- + run-command tests: use strvec_pushv(), not argv assignment
- + run-command API users: use strvec_pushv(), not argv assignment
- + upload-archive: use regular "struct child_process" pattern
- + worktree: stop being overly intimate with run_command() internals
-
- API clean-up.
-
- Will merge to 'master'.
- cf. <211130.86k0gpcpy2.gmgdl@evledraar.gmail.com>
- cf. <CAPig+cSvFgJTiq8pXrWy_7ukQwE1y9ZGwMgKmyjWuQHdNGxiDQ@mail.gmail.com>
- source: <cover-v3-0.9-00000000000-20211125T224833Z-avarab@gmail.com>
-
-
-* hn/reflog-tests (2021-12-02) 5 commits
- (merged to 'next' on 2021-12-07 at 84d4e4b211)
- + refs/debug: trim trailing LF from reflog message
- + test-ref-store: tweaks to for-each-reflog-ent format
- + t1405: check for_each_reflog_ent_reverse() more thoroughly
- + test-ref-store: don't add newline to reflog message
- + show-branch: show reflog message
+ + grep: clarify what `grep.patternType=default` means
- Prepare tests on ref API to help testing reftable backends.
+ Doc update.
Will merge to 'master'.
- source: <pull.1145.v3.git.git.1638466593.gitgitgadget@gmail.com>
+ source: <xmqqy24ykdel.fsf_-_@gitster.g>
+
+
+* en/keep-cwd (2021-12-09) 11 commits
+ - t2501: simplify the tests since we can now assume desired behavior
+ - dir: new flag to remove_dir_recurse() to spare the original_cwd
+ - dir: avoid incidentally removing the original_cwd in remove_path()
+ - stash: do not attempt to remove startup_info->original_cwd
+ - rebase: do not attempt to remove startup_info->original_cwd
+ - clean: do not attempt to remove startup_info->original_cwd
+ - symlinks: do not include startup_info->original_cwd in dir removal
+ - unpack-trees: add special cwd handling
+ - unpack-trees: refuse to remove startup_info->original_cwd
+ - setup: introduce startup_info->original_cwd
+ - t2501: add various tests for removing the current working directory
+
+ Many git commands that deal with working tree files try to remove a
+ directory that becomes empty (i.e. "git switch" from a branch that
+ has the directory to another branch that does not would attempt
+ remove all files in the directory and the directory itself). This
+ drops users into an unfamiliar situation if the command was run in
+ a subdirectory that becomes subject to removal due to the command.
+ The commands have been taught to keep an empty directory if it is
+ the directory they were started in to avoid surprising users.
+ Will merge to 'next'?
+ source: <pull.1140.v6.git.git.1639026515.gitgitgadget@gmail.com>
-* tl/ls-tree-oid-only (2021-11-22) 1 commit
- - ls-tree.c: support `--oid-only` option for "git-ls-tree"
+
+* tl/ls-tree-oid-only (2021-12-15) 1 commit
+ - ls-tree.c: support `--object-only` option for "git-ls-tree"
"git ls-tree" learns "--oid-only" option, similar to "--name-only".
Expecting a reroll.
- source: <6c15b4c176b7c03072fa59a4efd9f6fea7d62eae.1637567328.git.dyroneteng@gmail.com>
+ source: <cover.1638891420.git.dyroneteng@gmail.com>
* ab/make-dependency (2021-11-18) 24 commits
source: <20211119150707.3924636-1-fs@gigacodes.de>
-* fs/test-prereq (2021-12-01) 3 commits
- (merged to 'next' on 2021-12-07 at fc8a8e0006)
- + test-lib: make BAIL_OUT() work in tests and prereq
- + test-lib: introduce required prereq for test runs
- + test-lib: show missing prereq summary
-
- The test framework learns to list unsatisfied test prerequisites,
- and optionally error out when prerequisites that are expected to be
- satisfied are not.
-
- Will merge to 'master'.
- source: <20211201085315.576865-1-fs@gigacodes.de>
-
-
* pw/xdiff-classify-record-in-histogram (2021-12-04) 6 commits
(merged to 'next' on 2021-12-07 at 8cdad7bc9a)
+ xdiff: drop unused flags parameter from recs_match
source: <pull.1076.v18.git.1638939946.gitgitgadget@gmail.com>
-* rj/receive-pack-avoid-sigpipe-during-status-reporting (2021-11-10) 1 commit
- (merged to 'next' on 2021-12-07 at 91039a781e)
- + receive-pack: ignore SIGPIPE while reporting status to client
-
- When the "git push" command is killed while the receiving end is
- trying to report what happened to the ref update proposals, the
- latter used to die, due to SIGPIPE. The code now ignores SIGPIPE
- to increase our chances to run the post-receive hook after it
- happens.
-
- Will merge to 'master'.
- source: <20211110092942.1648429-1-robin@jarry.cc>
-
-
-* ab/parse-options-cleanup (2021-11-10) 1 commit
- (merged to 'next' on 2021-12-08 at f9a2ceb9f6)
- + parse-options.c: use "enum parse_opt_result" for parse_nodash_opt()
-
- Change the type of an internal function to return an enum (instead
- of int) and replace -2 that was used to signal an error with -1.
-
- Will merge to 'master'.
- source: <patch-v2-1.1-376f76bb44e-20211110T012523Z-avarab@gmail.com>
-
-
* jc/c99-var-decl-in-for-loop (2021-12-03) 1 commit
(merged to 'next' on 2021-12-03 at 57100223b2)
+ revision: use C99 declaration of variable in for() loop
source: <20211201221547.1796213-1-andersk@mit.edu>
-* ab/mark-leak-free-tests-even-more (2021-11-01) 15 commits
- (merged to 'next' on 2021-12-03 at 1d8c342dab)
- + leak tests: mark some fast-import tests as passing with SANITIZE=leak
- + leak tests: mark some config tests as passing with SANITIZE=leak
- + leak tests: mark some status tests as passing with SANITIZE=leak
- + leak tests: mark some clone tests as passing with SANITIZE=leak
- + leak tests: mark some add tests as passing with SANITIZE=leak
- + leak tests: mark some diff tests as passing with SANITIZE=leak
- + leak tests: mark some apply tests as passing with SANITIZE=leak
- + leak tests: mark some notes tests as passing with SANITIZE=leak
- + leak tests: mark some update-index tests as passing with SANITIZE=leak
- + leak tests: mark some rev-parse tests as passing with SANITIZE=leak
- + leak tests: mark some rev-list tests as passing with SANITIZE=leak
- + leak tests: mark some misc tests as passing with SANITIZE=leak
- + leak tests: mark most gettext tests as passing with SANITIZE=leak
- + leak tests: mark "sort" test as passing SANITIZE=leak
- + leak tests: mark a read-tree test as passing SANITIZE=leak
-
- More tests are marked as leak-free.
-
- Will merge to 'master'.
- source: <cover-00.15-00000000000-20211030T221945Z-avarab@gmail.com>
-
-
-* ew/test-wo-fsync (2021-10-29) 1 commit
- (merged to 'next' on 2021-12-08 at 4b90e4870a)
- + tests: disable fsync everywhere
-
- Allow running our tests while disabling fsync.
-
- Will merge to 'master'.
- Received a lukewarm reactions overall. Perhaps we should drop instead?
- source: <20211029001552.GA29647@dcvr>
-
-
-* re/color-default-reset (2021-10-28) 3 commits
- (merged to 'next' on 2021-12-08 at ab3ff50ce2)
- + color: allow colors to be prefixed with "reset"
- + color: support "default" to restore fg/bg color
- + color: add missing GIT_COLOR_* white/black constants
-
- "default" and "reset" colors have been added to our palette.
-
- Will merge to 'master'.
- Seems to have stalled, but I am OK to merge it as-is.
- cf. <881B4747-B0B5-459B-B673-06972275A8B8@gmail.com>
- source: <pull.1117.git.git.1635210227532.gitgitgadget@gmail.com>
- source: <pull.1116.git.git.1635201156.gitgitgadget@gmail.com>
-
-
* pw/diff-color-moved-fix (2021-12-09) 15 commits
- diff --color-moved: intern strings
- diff: use designated initializers for emitted_diff_symbol
Correctness and performance update to "diff --color-moved" feature.
- Will merge to 'next'?
+ Will merge to 'next'.
source: <pull.981.v5.git.1639045809.gitgitgadget@gmail.com>
-* es/pretty-describe-more (2021-11-01) 3 commits
- (merged to 'next' on 2021-12-07 at e7862a34c8)
- + pretty: add abbrev option to %(describe)
- + pretty: add tag option to %(describe)
- + pretty.c: rework describe options parsing for better extensibility
-
- Extend "git log --format=%(describe)" placeholder to allow passing
- selected command-line options to the underlying "git describe"
- command.
-
- Will merge to 'master'.
- source: <20211031171510.1646396-1-eschwartz@archlinux.org>
-
-
* fs/ssh-signing-key-lifetime (2021-12-09) 9 commits
(merged to 'next' on 2021-12-10 at d5e7bd8b79)
+ ssh signing: verify ssh-keygen in test prereq
source: <cover-v5-00.17-00000000000-20211123T114206Z-avarab@gmail.com>
-* js/branch-track-inherit (2021-12-07) 2 commits
- . branch: add flags and config to inherit tracking
- . branch: accept multiple upstream branches for tracking
+* js/branch-track-inherit (2021-12-15) 3 commits
+ - config: require lowercase for branch.autosetupmerge
+ - branch: add flags and config to inherit tracking
+ - branch: accept multiple upstream branches for tracking
(this branch is used by gc/branch-recurse-submodules.)
"git -c branch.autosetupmerge=inherit branch new old" makes "new"
to have the same upstream as the "old" branch, instead of marking
"old" itself as its upstream.
-
- Waiting for a response
- cf. <xmqqk0gg6wqn.fsf@gitster.g>
- source: <cover.1638859949.git.steadmon@google.com>
+ source: <cover.1639524556.git.steadmon@google.com>
* jh/builtin-fsmonitor-part2 (2021-10-21) 29 commits
source: <pull.1050.v6.git.1638806161.gitgitgadget@gmail.com>
-* ns/remerge-diff (2021-12-08) 8 commits
- - doc/diff-options: explain the new --remerge-diff option
- - show, log: adapt Elijah Newren's changes to common tmp-objdir API
- - show, log: provide a --remerge-diff capability
- - merge-ort: capture and print ll-merge warnings in our preferred fashion
- - ll-merge: add API for capturing warnings in a strbuf instead of stderr
- - merge-ort: add ability to record conflict messages in a file
- - merge-ort: mark a few more conflict messages as omittable
- - Merge branch 'ns/tmp-objdir' into ns/remerge-diff
- (this branch uses ns/tmp-objdir.)
-
- A new presentation for two-parent merge "--remerge-diff" can be
- used to show the difference between mechanical (and possibly
- conflicted) merge results and the recorded resolution.
-
- Expecting a reroll.
- cf. <CABPp-BHq4DnkCZZ+HcnGiZYKHpWJgzMBjMDuWbbTFYPesm2sXA@mail.gmail.com>
- This is Elijah's remerge-diff rebased on ns/tmp-objdir to share the
- "create objects temporarily, only to discard without committing
- them to longer-term storage" infrastructure with another topic.
-
-
* ns/tmp-objdir (2021-12-08) 2 commits
- tmp-objdir: disable ref updates when replacing the primary odb
- tmp-objdir: new API for creating temporary writable databases
source: <20211117005701.371808-1-emilyshaffer@google.com>
-* ns/batched-fsync (2021-12-08) 8 commits
- - core.fsyncobjectfiles: performance tests for add and stash
- - core.fsyncobjectfiles: tests for batch mode
- - unpack-objects: use the bulk-checkin infrastructure
- - update-index: use the bulk-checkin infrastructure
- - core.fsyncobjectfiles: add windows support for batch mode
- - core.fsyncobjectfiles: batched disk flushes
- - bulk-checkin: rename 'state' variable and separate 'plugged' boolean
- - Merge branch 'ns/tmp-objdir' into ns/batched-fsync
- (this branch uses ns/tmp-objdir.)
-
- The "core.fsyncobjectfiles" configuration variable can now be set
- to "batch" for improved performance.
-
- Expecting a reroll.
- cf. <CABPp-BHq4DnkCZZ+HcnGiZYKHpWJgzMBjMDuWbbTFYPesm2sXA@mail.gmail.com>
- source: <pull.1076.v9.git.git.1637020263.gitgitgadget@gmail.com>
-
-
-* en/zdiff3 (2021-12-01) 2 commits
- (merged to 'next' on 2021-12-07 at baa3b24593)
- + update documentation for new zdiff3 conflictStyle
- + xdiff: implement a zealous diff3, or "zdiff3"
-
- "Zealous diff3" style of merge conflict presentation has been added.
-
- Will merge to 'master'.
- source: <pull.1036.v5.git.git.1638317108.gitgitgadget@gmail.com>
-
-
* js/scalar (2021-12-04) 15 commits
(merged to 'next' on 2021-12-10 at 6248603a80)
+ scalar: implement the `version` command
review or at least Acks from past commentors.
source: <cover-v6-0.8-00000000000-20211102T122507Z-avarab@gmail.com>
-
-* hn/reftable (2021-10-08) 19 commits
- (merged to 'next' on 2021-12-03 at 767ec5d9b3)
- + Add "test-tool dump-reftable" command.
- + reftable: add dump utility
- + reftable: implement stack, a mutable database of reftable files.
- + reftable: implement refname validation
- + reftable: add merged table view
- + reftable: add a heap-based priority queue for reftable records
- + reftable: reftable file level tests
- + reftable: read reftable files
- + reftable: generic interface to tables
- + reftable: write reftable files
- + reftable: a generic binary tree implementation
- + reftable: reading/writing blocks
- + Provide zlib's uncompress2 from compat/zlib-compat.c
- + reftable: (de)serialization for the polymorphic record type.
- + reftable: add blocksource, an abstraction for random access reads
- + reftable: utility functions
- + reftable: add error related functionality
- + reftable: add LICENSE
- + hash.h: provide constants for the hash IDs
- (this branch is used by hn/reftable-coverity-fixes.)
-
- The "reftable" backend for the refs API, without integrating into
- the refs subsystem, has been added.
-
- Will merge to 'master'.
- source: <pull.1081.v4.git.git.1633638315.gitgitgadget@gmail.com>
-
--------------------------------------------------
[Discarded]
Superseded by the ab/fetch-set-upstream-while-detached topic
source: <20210706162238.575988-1-clemens@endorphin.org>
+
+
+* js/compat-util-msvc-flex-array (2021-12-06) 1 commit
+ . git-compat-util(msvc): C11 does not imply support for zero-sized arrays
+
+ MSVC build started to break on flex arrays?
+
+ It seems that there is no breakage in the toolchain; the code was buggy.
+ source: <pull.1094.git.1638823724410.gitgitgadget@gmail.com>
+
+
+* ns/batched-fsync (2021-12-08) 8 commits
+ . core.fsyncobjectfiles: performance tests for add and stash
+ . core.fsyncobjectfiles: tests for batch mode
+ . unpack-objects: use the bulk-checkin infrastructure
+ . update-index: use the bulk-checkin infrastructure
+ . core.fsyncobjectfiles: add windows support for batch mode
+ . core.fsyncobjectfiles: batched disk flushes
+ . bulk-checkin: rename 'state' variable and separate 'plugged' boolean
+ . Merge branch 'ns/tmp-objdir' into ns/batched-fsync
+ (this branch uses ns/tmp-objdir.)
+
+ The "core.fsyncobjectfiles" configuration variable can now be set
+ to "batch" for improved performance.
+
+ cf. 20211211034452.GA15683@neerajsi-x1.localdomain
+ source: <pull.1076.v9.git.git.1637020263.gitgitgadget@gmail.com>
+
+
+* ns/remerge-diff (2021-12-08) 8 commits
+ . doc/diff-options: explain the new --remerge-diff option
+ . show, log: adapt Elijah Newren's changes to common tmp-objdir API
+ . show, log: provide a --remerge-diff capability
+ . merge-ort: capture and print ll-merge warnings in our preferred fashion
+ . ll-merge: add API for capturing warnings in a strbuf instead of stderr
+ . merge-ort: add ability to record conflict messages in a file
+ . merge-ort: mark a few more conflict messages as omittable
+ . Merge branch 'ns/tmp-objdir' into ns/remerge-diff
+ (this branch uses ns/tmp-objdir.)
+
+ A new presentation for two-parent merge "--remerge-diff" can be
+ used to show the difference between mechanical (and possibly
+ conflicted) merge results and the recorded resolution.
+
+ cf. <CABPp-BE4ZD4dsr=ofbZeWqxEV=8do93o_Gus_wsGw6Fq7V2ETA@mail.gmail.com>
+ This is Elijah's remerge-diff rebased on ns/tmp-objdir to share the
+ "create objects temporarily, only to discard without committing
+ them to longer-term storage" infrastructure with another topic.
+
+
+* ms/customizable-ident-expansion (2021-09-01) 1 commit
+ - keyword expansion: make "$Id$" string configurable
+
+ Instead of "$Id$", user-specified string (like $FreeBSD$) can be
+ used as an in-blob placeholder for keyword expansion.
+
+ Will discard.
+ Stalled for too long.
+ cf. <xmqqfsuosvrh.fsf@gitster.g>
+ cf. <211101.86fssf3bn3.gmgdl@evledraar.gmail.com>
+ source: <pull.1074.v3.git.git.1630462385587.gitgitgadget@gmail.com>
+
+
+* jc/make-test-all (2021-12-13) 2 commits
+ . WIP to add "test-extra-clean"
+ . Makefile: add test-all target
+
+ "make test" target in subdirectories of contrib/ are now exercised
+ in CI tests.
+ source: <xmqqh7bi27o9.fsf@gitster.g>
+
+
+* jh/make-p4-python3-only (2021-12-09) 6 commits
+ . git-p4: Resolve RCS keywords in binary
+ . git-p4: Eliminate decode_stream and encode_stream
+ . git-p4: Decode byte strings before printing
+ . git-p4: Removed support for Python 2
+ . git-p4: Don't print shell commands as python lists
+ . git-p4: Always pass cmd arguments to subprocess as a python lists
+
+ Support for Python2 in "git p4" has been removed (not just
+ deprecated).
+
+ Superseded by jh/p4-rcs-expansion-in-bytestring topic, leaving
+ the "drop Python-2 support" for a separate topic in the future.
+ source: <20211209201029.136886-1-jholdsworth@nvidia.com>