Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while 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. You can find the changes described here in the integration branches of the repositories listed at http://git-blame.blogspot.com/p/git-public-repositories.html -------------------------------------------------- [Graduated to "master"] * cb/credential-doc-fixes (2020-05-07) 4 commits (merged to 'next' on 2020-05-07 at 993b36071e) + credential: document protocol updates + credential: update gitcredentials documentation + credential: correct order of parameters for credential_match + credential: update description for credential_from_url_gently Minor in-code comments and documentation updates around credential API. * cc/upload-pack-v2-fetch-fix (2020-05-08) 1 commit (merged to 'next' on 2020-05-08 at d26b87d06d) + upload-pack: clear filter_options for each v2 fetch command Serving a "git fetch" client over "git://" and "ssh://" protocols using the on-wire protocol version 2 was buggy on the server end when the client needs to make a follow-up request to e.g. auto-follow tags. * dd/bloom-sparse-fix (2020-05-07) 1 commit (merged to 'next' on 2020-05-08 at 1067403c01) + bloom: fix `make sparse` warning Code clean-up. * ds/sparse-updates-oob-access-fix (2020-05-08) 1 commit (merged to 'next' on 2020-05-08 at fd007758ea) + unpack-trees: avoid array out-of-bounds error The code to skip unmerged paths in the index when sparse checkout is in use would have made out-of-bound access of the in-core index when the last path was unmerged, which has been corrected. * jc/auto-gc-quiet (2020-05-07) 2 commits (merged to 'next' on 2020-05-07 at 6cc69513c3) + auto-gc: pass --quiet down from am, commit, merge and rebase + auto-gc: extract a reusable helper from "git fetch" Teach "am", "commit", "merge" and "rebase", when they are run with the "--quiet" option, to pass "--quiet" down to "gc --auto". * jk/ci-only-on-selected-branches (2020-05-07) 1 commit (merged to 'next' on 2020-05-07 at f3227dd3d3) + ci: allow per-branch config for GitHub Actions Instead of always building all branches at GitHub via Actions, users can specify which branches to build. * ss/faq-fetch-pull (2020-05-06) 1 commit (merged to 'next' on 2020-05-07 at d57224374e) + gitfaq: fetching and pulling a repository Random bits of FAQ. * ss/faq-ignore (2020-05-06) 1 commit (merged to 'next' on 2020-05-07 at 6273caaf77) + gitfaq: files in .gitignore are tracked Random bits of FAQ. * ss/submodule-set-url-in-c (2020-05-08) 1 commit (merged to 'next' on 2020-05-08 at 93e390eb33) + submodule: port subcommand 'set-url' from shell to C Rewriting various parts of "git submodule" in C continues. * tb/bitmap-walk-with-tree-zero-filter (2020-05-04) 4 commits (merged to 'next' on 2020-05-06 at fbb3fbbb85) + pack-bitmap: pass object filter to fill-in traversal + pack-bitmap.c: support 'tree:0' filtering + pack-bitmap.c: make object filtering functions generic + list-objects-filter: treat NULL filter_options as "disabled" The object walk with object filter "--filter=tree:0" can now take advantage of the pack bitmap when available. * tb/shallow-cleanup (2020-04-30) 4 commits (merged to 'next' on 2020-05-05 at 647588a8bd) + shallow: use struct 'shallow_lock' for additional safety + shallow.h: document '{commit,rollback}_shallow_file' + shallow: extract a header file for shallow-related functions + commit: make 'commit_graft_pos' non-static Code cleanup. -------------------------------------------------- [New Topics] * ao/p4-d-f-conflict-recover (2020-05-10) 1 commit (merged to 'next' on 2020-05-11 at a83a2f6178) + git-p4: recover from inconsistent perforce history "git p4" learned to recover from a (broken) state where a directory and a file are recorded at the same path in the Perforce repository the same way as their clients do. Will merge to 'master'. * bk/p4-prepare-p4-only-fix (2020-05-12) 1 commit - git-p4.py: fix --prepare-p4-only error with multiple commits The "--prepare-p4-only" option is supposed to stop after replaying one changeset, but kept going (by mistake?) Needs review by some p4 folks. * jt/curl-verbose-on-trace-curl (2020-05-11) 2 commits (merged to 'next' on 2020-05-11 at 814e31b9d4) + http, imap-send: stop using CURLOPT_VERBOSE + t5551: test that GIT_TRACE_CURL redacts password Rewrite support for GIT_CURL_VERBOSE in terms of GIT_TRACE_CURL. Expecting further work on optionally disabling reacting authinfo * mt/grep-sparse-checkout (2020-05-11) 4 commits - config: add setting to ignore sparsity patterns in some cmds - grep: honor sparse checkout patterns - config: load the correct config.worktree file - doc: grep: unify info on configuration variables "git grep" has been tweaked to be limited to the sparse checkout paths. * rs/fsck-duplicate-names-in-trees (2020-05-11) 1 commit (merged to 'next' on 2020-05-11 at f603ca2528) + fsck: report non-consecutive duplicate names in trees "git fsck" ensures that the paths recorded in tree objects are sorted and without duplicates, but it failed to notice a case where a blob is followed by entries that sort before a tree with the same name. This has been corrected. Will merge to 'master'. * sn/midx-repack-with-config (2020-05-10) 2 commits (merged to 'next' on 2020-05-11 at d73f8f51d6) + multi-pack-index: respect repack.packKeptObjects=false + midx: teach "git multi-pack-index repack" honor "git repack" configurations "git multi-pack-index repack" has been taught to honor some repack.* configuration variables. Will merge to 'master'. * es/trace-log-progress (2020-05-12) 1 commit (merged to 'next' on 2020-05-13 at a127540258) + trace2: log progress time and throughput Teach codepaths that show progress meter to also use the start_progress() and the stop_progress() calls as a "region" to be traced. Will merge to 'master'. * js/ci-sdk-download-fix (2020-05-12) 1 commit - ci: avoid pounding on the poor ci-artifacts container Instead of downloading Windows SDK for CI jobs for windows builds from an external site (wingit.blob.core.windows.net), use the one created in the windows-build job, to work around quota issues at the external site. Will merge to 'next'. Hopefully this can go away once cmake-for-windows-build topic lands? * bc/sha-256-part-2 (2020-05-12) 44 commits - remote-testgit: adapt for object-format - bundle: detect hash algorithm when reading refs - t5300: pass --object-format to git index-pack - t5703: use object-format serve option - t5702: offer an object-format capability in the test - t/helper: initialize the repository for test-sha1-array - remote-curl: avoid truncating refs with ls-remote - t1050: pass algorithm to index-pack when outside repo - builtin/index-pack: add option to specify hash algorithm - remote-curl: detect algorithm for dumb HTTP by size - builtin/ls-remote: initialize repository based on fetch - t5500: make hash independent - serve: advertise object-format capability for protocol v2 - connect: parse v2 refs with correct hash algorithm - connect: pass full packet reader when parsing v2 refs - Documentation/technical: document object-format for protocol v2 - t1302: expect repo format version 1 for SHA-256 - builtin/show-index: provide options to determine hash algo - t5302: modernize test formatting - packfile: compute and use the index CRC offset - t3200: mark assertion with SHA1 prerequisite - setup: set the_repository's hash algo when checking format - fetch-pack: parse and advertise the object-format capability - t5704: send object-format capability with SHA-256 - t5562: pass object-format in synthesized test data - builtin/clone: initialize hash algorithm properly - remote-curl: implement object-format extensions - transport-helper: implement object-format extensions - docs: update remote helper docs for object-format extensions - builtin/receive-pack: detect when the server doesn't support our hash - connect: detect algorithm when fetching refs - fetch-pack: detect when the server doesn't support our hash - connect: make parse_feature_value extern - send-pack: detect when the server doesn't support our hash - connect: add function to detect supported v1 hash functions - transport: add a hash algorithm member - pkt-line: add a member for hash algorithm - connect: add function to fetch value of a v2 server capability - connect: add function to parse multiple v1 capability values - remote: advertise the object-format capability on the server side - wrapper: add function to compare strings with different NUL termination - connect: have ref processing code take struct packet_reader - Documentation: document v1 protocol object-format capability - t1050: match object ID paths in a hash-insensitive way SHA-256 migration work continues. * dd/t1509-i18n-fix (2020-05-13) 1 commit - t1509: correct i18n test A few tests were not i18n clean. Will merge to 'next'. * es/bugreport-shell (2020-05-12) 2 commits - bugreport: include user interactive shell - help: add shell-path to --build-options (this branch uses es/bugreport-with-hooks.) "git bugreport" learns to report what shell is in use. -------------------------------------------------- [Stalled] * 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] * jt/t5500-unflake (2020-05-06) 1 commit (merged to 'next' on 2020-05-13 at 11450265ec) + t5500: count objects through stderr, not trace Test fix for a topic already in 'master' and meant for 'maint'. Will merge to 'master'. * cw/bisect-replay-with-dos (2020-05-08) 1 commit (merged to 'next' on 2020-05-11 at 2eb0edf56d) + bisect: allow CRLF line endings in "git bisect replay" input "git bisect replay" had trouble with input files when they used CRLF line ending, which has been corrected. Will merge to 'master'. * jc/codingstyle-compare-with-null (2020-05-08) 1 commit (merged to 'next' on 2020-05-11 at d18f0d930e) + CodingGuidelines: do not ==/!= compare with 0 or '\0' or NULL Doc update. Will merge to 'master'. * ds/line-log-on-bloom (2020-05-11) 12 commits (merged to 'next' on 2020-05-11 at 046d49d455) + line-log: integrate with changed-path Bloom filters + line-log: try to use generation number-based topo-ordering + line-log: more responsive, incremental 'git log -L' + t4211-line-log: add tests for parent oids + line-log: remove unused fields from 'struct line_log_data' + completion: offer '--(no-)patch' among 'git log' options + bloom: use num_changes not nr for limit detection + bloom: de-duplicate directory entries + Documentation: changed-path Bloom filters use byte words + bloom: parse commit before computing filters + test-bloom: fix usage typo + bloom: fix whitespace around tab length "git log -L..." now takes advantage of the "which paths are touched by this commit?" info stored in the commit-graph system. Will merge to 'master'. * js/rebase-autosquash-double-fixup-fix (2020-05-09) 1 commit (merged to 'next' on 2020-05-11 at 3cdf7f7ece) + rebase --autosquash: fix a potential segfault "rebase -i" segfaulted when rearranging a sequence that has a fix-up that applies another fix-up (which may or may not be a fix-up of yet another step). Will merge to 'master'. * tb/commit-graph-no-check-oids (2020-05-05) 8 commits - commit-graph: drop COMMIT_GRAPH_WRITE_CHECK_OIDS flag - t5318: reorder test below 'graph_read_expect' - commit-graph.c: simplify 'fill_oids_from_commits' - builtin/commit-graph.c: dereference tags in builtin - builtin/commit-graph.c: extract 'read_one_commit()' - commit-graph.c: peel refs in 'add_ref_to_set' - commit-graph.c: show progress of finding reachable commits - commit-graph.c: extract 'refs_cb_data' Clean-up the commit-graph codepath. Expecting a reroll. cf. <20200507204204.GF29683@xxxxxxxxxxxxxxxxxxxxxxx> cf. <20200507200305.GB29683@xxxxxxxxxxxxxxxxxxxxxxx> * dl/test-must-fail-fixes-5 (2020-05-05) 4 commits - lib-submodule-update: pass OVERWRITING_FAIL - lib-submodule-update: prepend "git" to $command - lib-submodule-update: consolidate --recurse-submodules - lib-submodule-update: add space after function name The effort to avoid using test_must_fail on non-git command continues. Needs review. cf. <cover.1588162842.git.liu.denton@xxxxxxxxx> * es/bugreport-with-hooks (2020-05-07) 1 commit (merged to 'next' on 2020-05-11 at 2dd5d90a34) + bugreport: collect list of populated hooks (this branch is used by es/bugreport-shell.) "git bugreport" learned to report enabled hooks in the repository. Will merge to 'master'. * mr/bisect-in-c-2 (2020-04-23) 12 commits - bisect--helper: retire `--bisect-autostart` subcommand - bisect--helper: retire `--write-terms` subcommand - bisect--helper: retire `--check-expected-revs` subcommand - bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C - bisect--helper: retire `--next-all` subcommand - bisect--helper: retire `--bisect-clean-state` subcommand - bisect--helper: finish porting `bisect_start()` to C - bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C - bisect--helper: reimplement `bisect_autostart` shell function in C - bisect--helper: introduce new `write_in_file()` function - bisect--helper: use '-res' in 'cmd_bisect__helper' return - bisect--helper: fix `cmd_*()` function switch default return Rewrite of the remainder of "git bisect" script in C continues. Needs review. * jk/complete-git-switch (2020-04-28) 11 commits - completion: complete remote branches for git switch --track - completion: recognize -c/-C when completing for git switch - completion: fix completion for git switch with no options - completion: perform DWIM logic directly in __git_complete_refs - completion: extract function __git_dwim_remote_heads - completion: rename --track option of __git_complete_refs - completion: stop completing refs for git switch --orphan - completion: add tests showing lack of support for git switch -c/-C - completion: add test highlighting subpar git switch --track completion - completion: add test showing subpar git switch completion - completion: add some simple test cases for git switch completion The command line completion (in contrib/) learned to complete options that the "git switch" command takes. Needs review. * dr/push-remoteref-fix (2020-04-23) 1 commit - remote.c: fix handling of %(push:remoteref) The "%(push:remoteref)" placeholder in the "--format=" argument of "git format-patch" (and friends) only showed what got explicitly configured, not what ref at the receiving end would be updated when "git push" was used, as it ignored the default behaviour (e.g. update the same ref as the source). Expecting a reroll. cf. <20200416152145.wp2zeibxmuyas6y6@feanor> * pw/rebase-i-more-options (2020-04-29) 5 commits - rebase: add --reset-author-date - rebase -i: support --ignore-date - sequencer: rename amend_author to author_to_free - rebase -i: support --committer-date-is-author-date - rebase -i: add --ignore-whitespace flag "git rebase -i" learns a bit more options. Needs review. * jx/proc-receive-hook (2020-05-07) 7 commits - doc: add documentation for the proc-receive hook - receive-pack: new config receive.procReceiveRefs - refs.c: refactor to reuse ref_is_hidden() - receive-pack: feed report options to post-receive - New capability "report-status-v2" for git-push - receive-pack: add new proc-receive hook - transport: not report a non-head push as a branch "git receive-pack" that accepts requests by "git push" learned to outsource most of the ref updates to the new "proc-receive" hook. Needs review. * hn/refs-cleanup (2020-05-11) 6 commits - reftable: define version 2 of the spec to accomodate SHA256 - reftable: clarify how empty tables should be written - reftable: file format documentation - refs: document how ref_iterator_advance_fn should handle symrefs - t: use update-ref and show-ref to reading/writing refs - refs.h: clarify reflog iteration order (this branch is used by hn/reftable.) Preliminary clean-ups around refs API, plus file format specification documentation for the reftable backend. I splitted these out of the hn/reftable topic, hoping that these should be easier to polish and merge quickly than the rest of the series. * hn/reftable (2020-05-11) 7 commits - Add some reftable testing infrastructure - vcxproj: adjust for the reftable changes - Reftable support for git-core - Add reftable library - Add .gitattributes for the reftable/ directory - Iterate over the "refs/" namespace in for_each_[raw]ref - Write pseudorefs through ref backends. (this branch uses hn/refs-cleanup.) A new refs backend "reftable" to replace the traditional combination of packed-refs files and one-file-per-ref loose refs has been implemented and integrated for improved performance and atomicity. Needs review. -------------------------------------------------- [Discarded] * jc/credential-store-file-format-doc (2020-04-27) 1 commit . credential-store: document the file format a bit more Now has become a part of Carlo's credential-store fix patches. * js/ci-skip-on-github-workflow (2020-05-02) 1 commit . ci: respect the [skip ci] convention in our GitHub workflow "CI/PR" Allow contributors to mark a branch/push that it does not have to be built via GitHub actions, in a way similar to how Travis lets them mark the commits with an embedded "[skip ci]" string. Superseded by dd/ci-only-on-selective-branches topic. * dd/ci-only-on-selective-branches (2020-05-05) 2 commits - CI: limit GitHub Actions to designated branches - SubmittingPatches: advertise GitHub Actions CI Instead of always building all branches of all forks of our project at GitHub via GitHub Actions, only build when branches with known and specific names are updated, and also a pull request. Superseded by jk/ci-only-on-selected-branches