From: Junio C Hamano Date: Tue, 25 Feb 2020 22:48:57 +0000 (-0800) Subject: What's cooking (2020/02 #05) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=67e92b69f8955cbfaad6450268730c0e2d16d995;p=thirdparty%2Fgit.git What's cooking (2020/02 #05) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 8107aa3c25..98c8f2d619 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 (Feb 2020, #04; Mon, 17) -X-master-at: 51ebf55b9309824346a6589c9f3b130c6f371b8f -X-next-at: 3043dbfab8cba19275c80425d1436651d4be4a4a +Subject: What's cooking in git.git (Feb 2020, #05; Tue, 25) +X-master-at: 2d2118b814c11f509e1aa76cb07110f7231668dc +X-next-at: 5900a2a8f925f2c0ac44ac71f8d2c1959bdec53b -What's cooking in git.git (Feb 2020, #04; Mon, 17) +What's cooking in git.git (Feb 2020, #05; Tue, 25) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -23,439 +23,333 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* ag/edit-todo-drop-check (2020-01-28) 2 commits - (merged to 'next' on 2020-02-07 at 687c82cd3a) - + 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 js/rebase-i-with-colliding-hash.) - - Allow the rebase.missingCommitsCheck configuration to kick in when - "rebase --edit-todo" and "rebase --continue" restarts the procedure. - - -* ag/rebase-avoid-unneeded-checkout (2020-01-24) 1 commit - (merged to 'next' on 2020-02-07 at b08da07534) - + rebase -i: stop checking out the tip of the branch to rebase - - "git rebase -i" (and friends) used to unnecessarily check out the - tip of the branch to be rebased, which has been corrected. - - -* bc/hash-independent-tests-part-8 (2020-02-07) 21 commits - (merged to 'next' on 2020-02-11 at 127748e61a) - + t6024: update for SHA-256 - + t6006: make hash size independent - + t6000: abstract away SHA-1-specific constants - + t5703: make test work with SHA-256 - + t5607: make hash size independent - + t5318: update for SHA-256 - + t5515: make test hash independent - + t5321: make test hash independent - + t5313: make test hash independent - + t5309: make test hash independent - + t5302: make hash size independent - + t4060: make test work with SHA-256 - + t4211: add test cases for SHA-256 - + t4211: move SHA-1-specific test cases into a directory - + t4013: make test hash independent - + t3311: make test work with SHA-256 - + t3310: make test work with SHA-256 - + t3309: make test work with SHA-256 - + t3308: make test work with SHA-256 - + t3206: make hash size independent - + t/lib-pack: support SHA-256 - - Preparation for SHA-256 migration continues. - - -* dl/test-must-fail-fixes-2 (2020-01-27) 16 commits - (merged to 'next' on 2020-02-07 at 535e019692) - + t4124: only mark git command with test_must_fail - + t3507: use test_path_is_missing() - + t3507: fix indentation - + t3504: do check for conflict marker after failed cherry-pick - + t3419: stop losing return code of git command - + t3415: increase granularity of test_auto_{fixup,squash}() - + t3415: stop losing return codes of git commands - + t3310: extract common notes_merge_files_gone() - + t3030: use test_path_is_missing() - + t2018: replace "sha" with "oid" - + t2018: don't lose return code of git commands - + t2018: teach do_checkout() to accept `!` arg - + t2018: be more discerning when checking for expected exit codes - + t2018: improve style of if-statement - + t2018: add space between function name and () - + t2018: remove trailing space from test description - - Test updates. - - -* ds/sparse-checkout-harden (2020-01-31) 15 commits - (merged to 'next' on 2020-02-07 at 56c09b944f) - + sparse-checkout: fix cone mode behavior mismatch - + sparse-checkout: improve docs around 'set' in cone mode - + sparse-checkout: escape all glob characters on write - + sparse-checkout: use C-style quotes in 'list' subcommand - + sparse-checkout: unquote C-style strings over --stdin - + sparse-checkout: write escaped patterns in cone mode - + sparse-checkout: properly match escaped characters - + sparse-checkout: warn on globs in cone patterns - + sparse-checkout: detect short patterns - + sparse-checkout: cone mode does not recognize "**" - + sparse-checkout: fix documentation typo for core.sparseCheckoutCone - + clone: fix --sparse option with URLs - + sparse-checkout: create leading directories - + t1091: improve here-docs - + t1091: use check_files to reduce boilerplate - (this branch is used by ds/sparse-add.) - - Some rough edges in the sparse-checkout feature, especially around - the cone mode, have been cleaned up. - - -* es/outside-repo-errmsg-hints (2020-02-16) 1 commit - (merged to 'next' on 2020-02-16 at ed78b064b4) - + prefix_path: show gitdir when arg is outside repo - - Error message clarification. - - -* hw/advice-add-nothing (2020-02-06) 2 commits - (merged to 'next' on 2020-02-07 at 3c2a5c1868) - + add: change advice config variables used by the add API - (merged to 'next' on 2020-01-22 at 3fe4494fa6) - + add: use advise function to display hints - - Two help messages given when "git add" notices the user gave it - nothing to add have been updated to use advise() API. - - -* jh/notes-fanout-fix (2020-02-04) 2 commits - (merged to 'next' on 2020-02-07 at a4ec94aee0) - + notes.c: fix off-by-one error when decreasing notes fanout - + t3305: check notes fanout more carefully and robustly - - The code to automatically shrink the fan-out in the notes tree had - an off-by-one bug, which has been killed. - - -* jk/alloc-cleanups (2020-02-04) 4 commits - (merged to 'next' on 2020-02-07 at f259621312) - + tree-walk.c: break circular dependency with unpack-trees - + traverse_trees(): use stack array for name entries - + walker_fetch(): avoid raw array length computation - + normalize_path_copy(): document "dst" size expectations - - Misc code clean-ups. - - -* jk/diff-honor-wserrhighlight-in-plumbing (2020-01-31) 1 commit - (merged to 'next' on 2020-02-07 at acb077fdcb) - + diff: move diff.wsErrorHighlight to "basic" config - - The diff-* plumbing family of subcommands now pay attention to the - diff.wsErrorHighlight configuration, which has been ignored before; - this allows "git add -p" to also show the whitespace problems to - the end user. +* bw/remote-rename-update-config (2020-02-10) 6 commits + (merged to 'next' on 2020-02-14 at 30b1a477de) + + remote rename/remove: gently handle remote.pushDefault config + + config: provide access to the current line number + + remote rename/remove: handle branch..pushRemote config values + + remote: clean-up config callback + + remote: clean-up by returning early to avoid one indentation + + pull --rebase/remote rename: document and honor single-letter abbreviations rebase types + "git remote rename X Y" needs to adjust configuration variables + (e.g. branch..remote) whose value used to be X to Y. + branch..pushRemote is now also updated. -* jk/doc-credential-helper (2020-02-14) 1 commit - (merged to 'next' on 2020-02-16 at 0909d3f981) - + doc: move credential helper info into gitcredentials(7) - Docfix. +* es/bright-colors (2020-02-11) 3 commits + (merged to 'next' on 2020-02-14 at cc17dbc7e8) + + color.c: alias RGB colors 8-15 to aixterm colors + + color.c: support bright aixterm colors + + color.c: refactor color_output arguments + The basic 7 colors learned the brighter counterparts + (e.g. "brightred"). -* jk/get-oid-error-message-i18n (2020-01-30) 3 commits - (merged to 'next' on 2020-02-07 at 6bfe9235e5) - + sha1-name: mark get_oid() error messages for translation - + t1506: drop space after redirection operator - + t1400: avoid "test" string comparisons - A low-level API function get_oid(), that accepts various ways to - name an object, used to issue end-user facing error messages - without l10n, which has been updated to be translatable. +* es/doc-mentoring (2020-02-14) 2 commits + (merged to 'next' on 2020-02-17 at e3f3e316eb) + + MyFirstContribution: rephrase contact info + (merged to 'next' on 2020-02-05 at 3b05aabbcd) + + MyFirstContribution: add avenues for getting help + Doc for new contributors. -* jk/index-pack-dupfix (2020-02-04) 1 commit - (merged to 'next' on 2020-02-07 at e6d79d432b) - + index-pack: downgrade twice-resolved REF_DELTA to die() +-------------------------------------------------- +[New Topics] - The index-pack code now diagnoses a bad input packstream that - records the same object twice when it is used as delta base; the - code used to declare a software bug when encountering such an - input, but it is an input error. +* am/mingw-poll-fix (2020-02-18) 1 commit + - mingw: workaround for hangs when sending STDIN + MinGW's poll() emulation has been improved. -* jk/mailinfo-cleanup (2020-02-11) 4 commits - (merged to 'next' on 2020-02-11 at ab9890fbcb) - + mailinfo: factor out some repeated header handling - + mailinfo: be more liberal with header whitespace - + mailinfo: simplify parsing of header values - + mailinfo: treat header values as C strings - (this branch uses rs/strbuf-insertstr.) + Needs review by Windows folks. - Code clean-up. +* en/check-ignore (2020-02-18) 1 commit + (merged to 'next' on 2020-02-22 at f05a752211) + + check-ignore: fix documentation and implementation to match -* jk/packfile-reuse-cleanup (2020-01-23) 12 commits - (merged to 'next' on 2020-02-07 at c543bc27fb) - + pack-bitmap: don't rely on bitmap_git->reuse_objects - + pack-objects: add checks for duplicate objects - + pack-objects: improve partial packfile reuse - + builtin/pack-objects: introduce obj_is_packed() - + pack-objects: introduce pack.allowPackReuse - + csum-file: introduce hashfile_total() - + pack-bitmap: simplify bitmap_has_oid_in_uninteresting() - + pack-bitmap: uninteresting oid can be outside bitmapped packfile - + pack-bitmap: introduce bitmap_walk_contains() - + ewah/bitmap: introduce bitmap_word_alloc() - + packfile: expose get_delta_base() - + builtin/pack-objects: report reused packfile objects + "git check-ignore" did not work when the given path is explicitly + marked as not ignored with a negative entry in the .gitignore file. - The way "git pack-objects" reuses objects stored in existing pack - to generate its result has been improved. + Will merge to 'master'. -* jn/promote-proto2-to-default (2020-01-15) 5 commits - (merged to 'next' on 2020-02-07 at 5597fd726b) - + fetch: default to protocol version 2 - + protocol test: let protocol.version override GIT_TEST_PROTOCOL_VERSION - + test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate - + config doc: protocol.version is not experimental - + fetch test: use more robust test for filtered objects +* en/t3433-rebase-stat-dirty-failure (2020-02-19) 2 commits + (merged to 'next' on 2020-02-25 at 000d596d4c) + + merge-recursive: fix the refresh logic in update_file_flags + + t3433: new rebase testcase documenting a stat-dirty-like failure - The transport protocol version 2 becomes the default one. + The merge-recursive machinery failed to refresh the cache entry for + a merge result in a couple of places, resulting in an unnecessary + merge failure, which has been fixed. + Will merge to 'master'. -* js/mingw-open-in-gdb (2020-02-14) 1 commit - (merged to 'next' on 2020-02-16 at 6670f36d73) - + mingw: add a helper function to attach GDB to the current process - Dev support. +* jk/doc-diff-parallel (2020-02-18) 1 commit + (merged to 'next' on 2020-02-19 at 62b2264fca) + + doc-diff: use single-colon rule in rendering Makefile + Update to doc-diff. -* js/rebase-i-with-colliding-hash (2020-01-23) 3 commits - (merged to 'next' on 2020-02-07 at 670ba07c4d) - + rebase -i: also avoid SHA-1 collisions with missingCommitsCheck - + rebase -i: re-fix short SHA-1 collision - + parse_insn_line(): improve error message when parsing failed - (this branch is used by ag/edit-todo-drop-check.) + Will merge to 'master'. - "git rebase -i" identifies existing commits in its todo file with - their abbreviated object name, which could become ambigous as it - goes to create new commits, and has a mechanism to avoid ambiguity - in the main part of its execution. A few other cases however were - not covered by the protection against ambiguity, which has been - corrected. +* jk/push-option-doc-markup-fix (2020-02-18) 1 commit + (merged to 'next' on 2020-02-19 at 975e00fa99) + + doc/config/push: use longer "--" line for preformatted example -* js/test-avoid-pipe (2020-02-14) 1 commit - (merged to 'next' on 2020-02-16 at 090cac9c23) - + t9001, t9116: avoid pipes + Doc markup fix. - Test clean-up. + Will merge to 'master'. -* js/test-unc-fetch (2020-02-14) 1 commit - (merged to 'next' on 2020-02-16 at a4ca01efef) - + t5580: test cloning without file://, test fetching via UNC paths +* ak/test-log-graph (2020-02-24) 2 commits + (merged to 'next' on 2020-02-25 at 2b68666ffa) + + lib-log-graph: consolidate colored graph cmp logic + + lib-log-graph: consolidate test_cmp_graph logic - Test updates. + Test update. + Will merge to 'master'. -* js/test-write-junit-xml-fix (2020-02-12) 1 commit - (merged to 'next' on 2020-02-16 at 2deb247550) - + tests: fix --write-junit-xml with subshells - Testfix. +* ds/partial-clone-fixes (2020-02-22) 2 commits + (merged to 'next' on 2020-02-25 at a26434bb7a) + + partial-clone: avoid fetching when looking for objects + + partial-clone: demonstrate bugs in partial fetch + Fix for a bug revealed by a recent change to make the protocol v2 + the default. -* jt/connectivity-check-optim-in-partial-clone (2020-01-30) 2 commits - (merged to 'next' on 2020-02-07 at ca5102fa58) - + fetch: forgo full connectivity check if --filter - + connected: verify promisor-ness of partial clone - - Unneeded connectivity check is now disabled in a partial clone when - fetching into it. + Will merge to 'master'. -* kw/fsmonitor-watchman-racefix (2020-01-23) 4 commits - (merged to 'next' on 2020-02-07 at 3c42195a34) - + fsmonitor: update documentation for hook version and watchman hooks - + fsmonitor: add fsmonitor hook scripts for version 2 - + fsmonitor: handle version 2 of the hooks that will use opaque token - + fsmonitor: change last update timestamp on the index_state to opaque token - - A new version of fsmonitor-watchman hook has been introduced, to - avoid races. - - -* ld/p4-cleanup-processes (2020-01-30) 7 commits - (merged to 'next' on 2020-02-07 at e8c573f01c) - + git-p4: avoid leak of file handle when cloning - + git-p4: check for access to remote host earlier - + git-p4: cleanup better on error exit - + git-p4: create helper function importRevisions() - + git-p4: disable some pylint warnings, to get pylint output to something manageable - + git-p4: add P4CommandException to report errors talking to Perforce - + git-p4: make closeStreams() idempotent - - p4 updates. - +* pb/am-show-current-patch (2020-02-20) 5 commits + - am: support --show-current-patch=diff to retrieve .git/rebase-apply/patch + - am: support --show-current-patch=raw as a synonym for--show-current-patch + - am: convert "resume" variable to a struct + - parse-options: convert "command mode" to a flag + - parse-options: add testcases for OPT_CMDMODE() -* mr/show-config-scope (2020-02-10) 10 commits - (merged to 'next' on 2020-02-11 at 904bca086e) - + config: add '--show-scope' to print the scope of a config value - + submodule-config: add subomdule config scope - + config: teach git_config_source to remember its scope - + config: preserve scope in do_git_config_sequence - + config: clarify meaning of command line scoping - + config: split repo scope to local and worktree - + config: make scope_name non-static and rename it - + t1300: create custom config file without special characters - + t1300: fix over-indented HERE-DOCs - + config: fix typo in variable name - (this branch is used by bw/remote-rename-update-config and es/bugreport.) + "git am --short-current-patch" is a way to show the piece of e-mail + for the stopped step, which is not suitable to directly feed "git + apply" (it is designed to be a good "git am" input). It learned a + new option to show only the patch part. - "git config" learned to show in which "scope", in addition to in - which file, each config setting comes from. +* bc/wildcard-credential (2020-02-20) 5 commits + (merged to 'next' on 2020-02-25 at ba3706cb90) + + credential: allow wildcard patterns when matching config + + credential: use the last matching username in the config + + t0300: add tests for some additional cases + + t1300: add test for urlmatch with multiple wildcards + + mailmap: add an additional email address for brian m. carlson -* mt/threaded-grep-in-object-store (2020-01-17) 12 commits - (merged to 'next' on 2020-02-07 at e86bab09e1) - + grep: use no. of cores as the default no. of threads - + 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. + A configuration element used for credential subsystem can now use + wildcard pattern to specify for which set of URLs the entry + applies. + Will merge to 'master'. -* mt/use-passed-repo-more-in-funcs (2020-01-31) 7 commits - (merged to 'next' on 2020-02-07 at 536709ab4b) - + sha1-file: allow check_object_signature() to handle any repo - + sha1-file: pass git_hash_algo to hash_object_file() - + sha1-file: pass git_hash_algo to write_object_file_prepare() - + streaming: allow open_istream() to handle any repo - + pack-check: use given repo's hash_algo at verify_packfile() - + cache-tree: use given repo's hash_algo at verify_one() - + diff: make diff_populate_filespec() honor its repo argument - Some codepaths were given a repository instance as a parameter to - work in the repository, but passed the_repository instance to its - callees, which has been cleaned up (somewhat). +* es/recursive-single-branch-clone (2020-02-25) 2 commits + - clone: pass --single-branch during --recurse-submodules + - submodule--helper: use C99 named initializer + + "git clone --recurse-submodules --single-branch" now uses the same + simgle-branch option when cloning the submodules. + + Will merge to 'next'. + + +* jc/describe-misnamed-annotated-tag (2020-02-20) 1 commit + - describe: force long format for a name based on a mislocated tag + + When "git describe C" finds an annotated tag with tagname A to be + the best name to explain commit C, and the tag is stored in a + "wrong" place in the refs/tags hierarchy, e.g. refs/tags/B, the + command gave a warning message but used A (not B) to describe C. + If C is exactly at the tag, the desribe output would be "A", but + "git rev-parse A^0" would not be equal as "git rev-parse C^0". The + behaviour of the command has been changed to use the "long" form + i.e. A-0-gOBJECTNAME, which is correctly interpreted by rev-parse. + + +* jk/run-command-formatfix (2020-02-22) 1 commit + (merged to 'next' on 2020-02-25 at 39ad6eeb86) + + run-command.h: fix mis-indented struct member + + Code style cleanup. + + Will merge to 'master'. - -* pk/status-of-uncloned-submodule (2020-02-04) 3 commits - (merged to 'next' on 2020-02-07 at f6349f5f5f) - + t7400: testcase for submodule status on unregistered inner git repos - + submodule: fix status of initialized but not cloned submodules - + t7400: add a testcase for submodule status on empty dirs - - The way "git submodule status" reports an initialized but not yet - populated submodule has not been reimplemented correctly when a - part of the "git submodule" command was rewritten in C, which has + +* jn/reftable-doc (2020-02-22) 1 commit + (merged to 'next' on 2020-02-25 at e128adbaf6) + + reftable: file format documentation + + Doc update, in preparation for adding the reftable feature. + + Will merge to 'master'. + + +* pb/recurse-submodules-fix (2020-02-19) 6 commits + - t/lib-submodule-update: add test removing nested submodules + - unpack-trees: check for missing submodule directory in merged_entry + - unpack-trees: remove outdated description for verify_clean_submodule + - t/lib-submodule-update: move a test to the right section + - t/lib-submodule-update: remove outdated test description + - t7112: remove mention of KNOWN_FAILURE_SUBMODULE_RECURSIVE_NESTED + + +* rj/t1050-use-test-path-is-file (2020-02-24) 1 commit + - t1050: replace test -f with test_path_is_file + + Code cleanup. + + Almost there. + + +* bc/sha-256-part-1-of-4 (2020-02-25) 25 commits + - SQUASH??? + - fast-import: add options for rewriting submodules + - fast-import: add a generic function to iterate over marks + - fast-import: make find_marks work on any mark set + - fast-import: add helper function for inserting mark object entries + - fast-import: permit reading multiple marks files + - tag: store SHA-256 signatures in a header + - gpg-interface: improve interface for parsing tags + - commit: use expected signature header for SHA-256 + - worktree: allow repository version 1 + - init-db: move writing repo version into a function + - builtin/init-db: add environment variable for new repo hash + - builtin/init-db: allow specifying hash algorithm on command line + - setup: allow check_repository_format to read repository format + - t/helper: make repository tests hash independent + - t/helper: initialize repository if necessary + - t/helper/test-dump-split-index: initialize git repository + - t6300: make hash algorithm independent + - t6300: abstract away SHA-1-specific constants + - t: use hash-specific lookup tables to define test constants + - repository: require a build flag to use SHA-256 + - hex: add functions to parse hex object IDs in any algorithm + - hex: introduce parsing variants taking hash algorithms + - hash: implement and use a context cloning function + - builtin/pack-objects: make hash agnostic + + +* es/do-not-let-rebase-switch-to-protected-branch (2020-02-24) 2 commits + - rebase: refuse to switch to branch already checked out elsewhere + - t3400: make test clean up after itself + + "git rebase BASE BRANCH" rebased/updated the tip of BRANCH and + checked it out, even when the BRANCH is checked out in a different + worktree. This has been corrected. + + Will merge to 'next'. + + +* es/worktree-avoid-duplication-fix (2020-02-24) 3 commits + (merged to 'next' on 2020-02-25 at 74c612837a) + + worktree: don't allow "add" validation to be fooled by suffix matching + + worktree: add utility to find worktree by pathname + + worktree: improve find_worktree() documentation + + "git worktree add" used to get confused that the director to be + used to add a new worktreey, when given as a relative path, is + different from an existing one. This has been corrected. + + Will merge to 'master'. + + +* es/worktree-cleanup (2020-02-24) 1 commit + (merged to 'next' on 2020-02-25 at 59bc458bcd) + + worktree: drop unused code from get_main_worktree() + + Code cleanup. + + Will merge to 'master'. + + +* hv/receive-denycurrent-everywhere (2020-02-24) 3 commits + (merged to 'next' on 2020-02-25 at 84e35c4980) + + receive.denyCurrentBranch: respect all worktrees + + t5509: use a bare repository for test push target + + get_main_worktree(): allow it to be called in the Git directory + + "git push" should stop from updating a branch that is checked out + when receive.denyCurrentBranch configuration is set, but it failed + to pay attention to checkouts in secondary worktrees. This has been corrected. + Will merge to 'master'. -* rs/name-rev-memsave (2020-02-05) 11 commits - (merged to 'next' on 2020-02-11 at 17616cb9b1) - + name-rev: sort tip names before applying - + name-rev: release unused name strings - + name-rev: generate name strings only if they are better - + name-rev: pre-size buffer in get_parent_name() - + name-rev: factor out get_parent_name() - + name-rev: put struct rev_name into commit slab - + name-rev: don't _peek() in create_or_update_name() - + name-rev: don't leak path copy in name_ref() - + name-rev: respect const qualifier - + name-rev: remove unused typedef - + name-rev: rewrite create_or_update_name() - Memory footprint and performance of "git name-rev" has been - improved. +* jk/nth-packed-object-id (2020-02-24) 10 commits + - packfile: drop nth_packed_object_sha1() + - packed_object_info(): use object_id internally for delta base + - packed_object_info(): use object_id for returning delta base + - pack-check: push oid lookup into loop + - pack-check: convert "internal error" die to a BUG() + - pack-bitmap: use object_id when loading on-disk bitmaps + - pack-objects: use object_id struct in pack-reuse code + - pack-objects: convert oe_set_delta_ext() to use object_id + - pack-objects: read delta base oid into object_id struct + - nth_packed_object_oid(): use customary integer return + Code cleanup to use "struct object_id" more by replacing use of + "char *sha1" -* rs/parse-options-concat-dup (2020-02-10) 4 commits - (merged to 'next' on 2020-02-11 at a1685687ab) - + parse-options: simplify parse_options_dup() - + parse-options: const parse_options_concat() parameters - + parse-options: factor out parse_options_count() - + parse-options: use COPY_ARRAY in parse_options_concat() + Will merge to 'next'. - Code clean-up. +* kk/complete-diff-color-moved (2020-02-24) 1 commit + - completion: add diff --color-moved[-ws] -* rs/strbuf-insertstr (2020-02-10) 2 commits - (merged to 'next' on 2020-02-11 at 5c89aa002f) - + mailinfo: don't insert header prefix for handle_content_type() - + strbuf: add and use strbuf_insertstr() - (this branch is used by jk/mailinfo-cleanup.) + Completion update. - Code clean-up. + Will merge to 'next'. -* tb/commit-graph-object-dir (2020-02-04) 5 commits - (merged to 'next' on 2020-02-07 at 5c85173df4) - + commit-graph.h: use odb in 'load_commit_graph_one_fd_st' - + commit-graph.c: remove path normalization, comparison - + commit-graph.h: store object directory in 'struct commit_graph' - + commit-graph.h: store an odb in 'struct write_commit_graph_context' - + t5318: don't pass non-object directory to '--object-dir' - (this branch is used by tb/commit-graph-split-merge.) +* ma/test-cleanup (2020-02-24) 3 commits + (merged to 'next' on 2020-02-25 at ce00c705a9) + + t: drop debug `cat` calls + + t9810: drop debug `cat` call + + t4117: check for files using `test_path_is_file` - The code to compute the commit-graph has been taught to use a more - robust way to tell if two object directories refer to the same - thing. + Code cleanup. --------------------------------------------------- -[New Topics] + Will merge to 'master'. -* jk/object-filter-with-bitmap (2020-02-14) 15 commits - (merged to 'next' on 2020-02-16 at 42425c3658) - + pack-objects: support filters with bitmaps - + pack-bitmap: implement BLOB_LIMIT filtering - + pack-bitmap: implement BLOB_NONE filtering - + bitmap: add bitmap_unset() function - + rev-list: use bitmap filters for traversal - + pack-bitmap: basic noop bitmap filter infrastructure - + rev-list: allow commit-only bitmap traversals - + t5310: factor out bitmap traversal comparison - + rev-list: allow bitmaps when counting objects - + rev-list: make --count work with --objects - + rev-list: factor out bitmap-optimized routines - + pack-bitmap: refuse to do a bitmap traversal with pathspecs - + rev-list: fallback to non-bitmap traversal when filtering - + pack-bitmap: fix leak of haves/wants object lists - + pack-bitmap: factor out type iterator initialization - The object reachability bitmap machinery and the partial cloning - machinery were not prepared to work well together, because some - object-filtering criteria partial clones use inherently rely on - object traversal, but the bitmap machinery is an optimization to - bypass that object traversal. There however are some cases that - they can work together, and they were taught about this case. +* rs/blame-typefix-for-fingerprint (2020-02-24) 1 commit + (merged to 'next' on 2020-02-25 at 496309f50a) + + blame: provide type of fingerprints pointer + + Code cleanup. Will merge to 'master'. -* hw/advise-ng (2020-02-16) 2 commits - - advice: extract vadvise() from advise() - - advice: refactor advise API +* rs/micro-cleanups (2020-02-24) 2 commits + (merged to 'next' on 2020-02-25 at eaa8fd097b) + + use strpbrk(3) to search for characters from a given set + + quote: use isalnum() to check for alphanumeric characters - Revamping of the advise API to allow more systematic enumeration of - advice knobs in the future. + Code cleanup. + + Will merge to 'master'. + + +* be/describe-multiroot (2020-02-25) 1 commit + - describe: dont abort too early when searching tags + + "git describe" in a repository with multiple root commits sometimes + gave up looking for the best tag to describe a given commit with + too early, which has been adjusted. -------------------------------------------------- [Stalled] @@ -477,6 +371,7 @@ of the repositories listed at What's the status of this one? The tip two are still RFC. + cf. * vn/reset-deleted-ita (2019-07-26) 1 commit @@ -498,7 +393,50 @@ of the repositories listed at -------------------------------------------------- [Cooking] -* ds/sparse-add (2020-02-11) 4 commits +* jk/object-filter-with-bitmap (2020-02-18) 16 commits + (merged to 'next' on 2020-02-19 at d38487e23d) + + rev-list --count: comment on the use of count_right++ + (merged to 'next' on 2020-02-16 at 42425c3658) + + pack-objects: support filters with bitmaps + + pack-bitmap: implement BLOB_LIMIT filtering + + pack-bitmap: implement BLOB_NONE filtering + + bitmap: add bitmap_unset() function + + rev-list: use bitmap filters for traversal + + pack-bitmap: basic noop bitmap filter infrastructure + + rev-list: allow commit-only bitmap traversals + + t5310: factor out bitmap traversal comparison + + rev-list: allow bitmaps when counting objects + + rev-list: make --count work with --objects + + rev-list: factor out bitmap-optimized routines + + pack-bitmap: refuse to do a bitmap traversal with pathspecs + + rev-list: fallback to non-bitmap traversal when filtering + + pack-bitmap: fix leak of haves/wants object lists + + pack-bitmap: factor out type iterator initialization + + The object reachability bitmap machinery and the partial cloning + machinery were not prepared to work well together, because some + object-filtering criteria partial clones use inherently rely on + object traversal, but the bitmap machinery is an optimization to + bypass that object traversal. There however are some cases that + they can work together, and they were taught about this case. + + Will merge to 'master'. + + +* hw/advise-ng (2020-02-25) 3 commits + - tag: use new advice API to check visibility + - advice: revamp advise API + - advice: extract vadvise() from advise() + + Revamping of the advise API to allow more systematic enumeration of + advice knobs in the future. + + Getting there, but not quite. + + +* ds/sparse-add (2020-02-20) 5 commits + (merged to 'next' on 2020-02-25 at de68d14e77) + + sparse-checkout: allow one-character directories in cone mode (merged to 'next' on 2020-02-14 at 3799757bbe) + sparse-checkout: work with Windows paths + sparse-checkout: create 'add' subcommand @@ -521,7 +459,7 @@ of the repositories listed at cf. -* hn/reftable (2020-02-10) 5 commits +* hn/reftable (2020-02-18) 5 commits . Reftable support for git-core . Add reftable library . refs: document how ref_iterator_advance_fn should handle symrefs @@ -533,10 +471,11 @@ of the repositories listed at has been implemented and integrated for improved performance and atomicity. - At v5. + Temporarily ejected as this unfortunately conflicts with the + SHA-256 topic. -* es/bugreport (2020-02-14) 15 commits +* es/bugreport (2020-02-20) 15 commits - bugreport: summarize contents of alternates file - bugreport: list contents of $OBJDIR/info - bugreport: add packed object summary @@ -555,8 +494,6 @@ of the repositories listed at The "bugreport" tool. - at v7. - * gs/commit-graph-path-filter (2020-02-12) 12 commits - (bytesex breakage band-aid) @@ -580,65 +517,27 @@ of the repositories listed at Breakage due to byte-order dependency reported. -* mr/bisect-in-c-1 (2020-02-10) 13 commits - - bisect: libify `bisect_next_all` - - bisect: libify `handle_bad_merge_base` and its dependents - - bisect: libify `check_good_are_ancestors_of_bad` and its dependents - - bisect: libify `check_merge_bases` and its dependents - - bisect: libify `bisect_checkout` - - bisect: libify `exit_if_skipped_commits` to `error_if_skipped*` and its dependents - - bisect--helper: return error codes from `cmd_bisect__helper()` - - bisect: add enum to represent bisect returning codes - - bisect--helper: introduce new `decide_next()` function - - run-command: make `exists_in_PATH()` non-static - - bisect: use the standard 'if (!var)' way to check for 0 - - bisect--helper: change `retval` to `res` - - bisect--helper: convert `vocab_*` char pointers to char arrays +* mr/bisect-in-c-1 (2020-02-19) 12 commits + (merged to 'next' on 2020-02-25 at 7e9e7950fd) + + bisect: libify `bisect_next_all` + + bisect: libify `handle_bad_merge_base` and its dependents + + bisect: libify `check_good_are_ancestors_of_bad` and its dependents + + bisect: libify `check_merge_bases` and its dependents + + bisect: libify `bisect_checkout` + + bisect: libify `exit_if_skipped_commits` to `error_if_skipped*` and its dependents + + bisect--helper: return error codes from `cmd_bisect__helper()` + + bisect: add enum to represent bisect returning codes + + bisect--helper: introduce new `decide_next()` function + + bisect: use the standard 'if (!var)' way to check for 0 + + bisect--helper: change `retval` to `res` + + bisect--helper: convert `vocab_*` char pointers to char arrays Underlying machinery of "git bisect--helper" is being refactored into pieces that are more easily reused. - -* bw/remote-rename-update-config (2020-02-10) 6 commits - (merged to 'next' on 2020-02-14 at 30b1a477de) - + remote rename/remove: gently handle remote.pushDefault config - + config: provide access to the current line number - + remote rename/remove: handle branch..pushRemote config values - + remote: clean-up config callback - + remote: clean-up by returning early to avoid one indentation - + pull --rebase/remote rename: document and honor single-letter abbreviations rebase types - - "git remote rename X Y" needs to adjust configuration variables - (e.g. branch..remote) whose value used to be X to Y. - branch..pushRemote is now also updated. - - Will merge to 'master'. - - -* es/bright-colors (2020-02-11) 3 commits - (merged to 'next' on 2020-02-14 at cc17dbc7e8) - + color.c: alias RGB colors 8-15 to aixterm colors - + color.c: support bright aixterm colors - + color.c: refactor color_output arguments - - The basic 7 colors learned the brighter counterparts - (e.g. "brightred"). - Will merge to 'master'. -* es/doc-mentoring (2020-02-14) 2 commits - (merged to 'next' on 2020-02-17 at e3f3e316eb) - + MyFirstContribution: rephrase contact info - (merged to 'next' on 2020-02-05 at 3b05aabbcd) - + MyFirstContribution: add avenues for getting help - - Doc for new contributors. - - Will merge to 'master'. - cf. - - * bk/p4-pre-edit-changelist (2020-02-14) 7 commits - git-p4: add RCS keyword status message - git-p4: add p4 submit hooks @@ -667,7 +566,8 @@ of the repositories listed at made its performance characteristics exponential wrt the depth of the tree, which was corrected. - Still RFC? + Expecting an update. + cf. cf. cf. @@ -685,7 +585,7 @@ of the repositories listed at cf. <20200212205028.GE4364@syl.local> -* am/pathspec-f-f-more (2020-02-10) 8 commits +* am/pathspec-f-f-more (2020-02-19) 8 commits - stash push: support the --pathspec-from-file option - stash: eliminate crude option parsing - doc: stash: synchronize description @@ -743,36 +643,54 @@ of the repositories listed at Update "git p4" to work with Python 3. Hold. - Waiting for SoB on the last step. + Waiting for SoB from Szeder on the last step. cf. * en/rebase-backend (2020-02-16) 20 commits - - rebase: rename the two primary rebase backends - - rebase: change the default backend from "am" to "merge" - - rebase: make the backend configurable via config setting - - rebase tests: repeat some tests using the merge backend instead of am - - rebase tests: mark tests specific to the am-backend with --am - - rebase: drop '-i' from the reflog for interactive-based rebases - - git-prompt: change the prompt for interactive-based rebases - - rebase: add an --am option - - rebase: move incompatibility checks between backend options a bit earlier - - git-rebase.txt: add more details about behavioral differences of backends - - rebase: allow more types of rebases to fast-forward - - t3432: make these tests work with either am or merge backends - - rebase: fix handling of restrict_revision - - rebase: make sure to pass along the quiet flag to the sequencer - - rebase, sequencer: remove the broken GIT_QUIET handling - - t3406: simplify an already simple test - - rebase (interactive-backend): fix handling of commits that become empty - - rebase (interactive-backend): make --keep-empty the default - - t3404: directly test the behavior of interest - - git-rebase.txt: update description of --allow-empty-message + (merged to 'next' on 2020-02-22 at cae5eb0f18) + + rebase: rename the two primary rebase backends + + rebase: change the default backend from "am" to "merge" + + rebase: make the backend configurable via config setting + + rebase tests: repeat some tests using the merge backend instead of am + + rebase tests: mark tests specific to the am-backend with --am + + rebase: drop '-i' from the reflog for interactive-based rebases + + git-prompt: change the prompt for interactive-based rebases + + rebase: add an --am option + + rebase: move incompatibility checks between backend options a bit earlier + + git-rebase.txt: add more details about behavioral differences of backends + + rebase: allow more types of rebases to fast-forward + + t3432: make these tests work with either am or merge backends + + rebase: fix handling of restrict_revision + + rebase: make sure to pass along the quiet flag to the sequencer + + rebase, sequencer: remove the broken GIT_QUIET handling + + t3406: simplify an already simple test + + rebase (interactive-backend): fix handling of commits that become empty + + rebase (interactive-backend): make --keep-empty the default + + t3404: directly test the behavior of interest + + git-rebase.txt: update description of --allow-empty-message "git rebase" has learned to use the sequencer backend by default, while allowing "--am" option to go back to the traditional "am" backend. - The last step may be rushing things a bit and may want to be - taken separately. - cf. + Will merge to 'master'. + cf. + +-------------------------------------------------- +[Discarded] + +* mt/describe-misnamed-annotated-tag (2020-02-18) 1 commit + . describe: output tag's ref instead of embedded name + + When "git describe C" finds an annotated tag with tagname A to be + the best name to explain commit C, and the tag is stored in a + "wrong" place in the refs/tags hierarchy, e.g. refs/tags/B, the + command gave a warning message but used A (not B) to describe C. + If C is exactly at the tag, the desribe output would be "A", but + "git rev-parse A^0" would not be equal as "git rev-parse C^0". The + behaviour of the command has been changed to use "B" to describe C + instead. + + This is not the only possible approach for the issue, and it is + unknown if the proposed solution is the best one.