diff --git a/Documentation/RelNotes/2.53.0.adoc b/Documentation/RelNotes/2.53.0.adoc index 9e896bd4244389..38cbd2186e8172 100644 --- a/Documentation/RelNotes/2.53.0.adoc +++ b/Documentation/RelNotes/2.53.0.adoc @@ -23,6 +23,9 @@ UI, Workflows & Features * "git fast-import" learns "--strip-if-invalid" option to drop invalid cryptographic signature from objects. + * The use of "revision" (a connected set of commits) has been + clarified in the "git replay" documentation. + Performance, Internal Implementation, Development Support etc. -------------------------------------------------------------- @@ -135,6 +138,18 @@ Fixes since v2.52 have been corrected. (merge df963f0df4 rs/config-set-multi-error-message-fix later to maint). + * "git replay" forgot to omit the "gpgsig-sha256" extended header + from the resulting commit the same way it omits "gpgsig", which has + been corrected. + (merge 9f3a115087 pw/replay-exclude-gpgsig-fix later to maint). + + * A few tests have been updated to work under the shell compatible + mode of zsh. + (merge a92f243a94 bc/zsh-testsuite later to maint). + + * The way patience diff finds LCS has been optimized. + (merge c7e3b8085b yc/xdiff-patience-optim later to maint). + * Other code cleanup, docfix, build fix, etc. (merge 46207a54cc qj/doc-http-bad-want-response later to maint). (merge df90eccd93 kh/doc-commit-extra-references later to maint). diff --git a/Documentation/git-replay.adoc b/Documentation/git-replay.adoc index dcb26e8a8e88ca..d03235cca0c668 100644 --- a/Documentation/git-replay.adoc +++ b/Documentation/git-replay.adoc @@ -9,12 +9,12 @@ git-replay - EXPERIMENTAL: Replay commits on a new base, works with bare repos t SYNOPSIS -------- [verse] -(EXPERIMENTAL!) 'git replay' ([--contained] --onto | --advance ) [--ref-action[=]] ... +(EXPERIMENTAL!) 'git replay' ([--contained] --onto | --advance ) [--ref-action[=]] DESCRIPTION ----------- -Takes ranges of commits and replays them onto a new location. Leaves +Takes a range of commits and replays them onto a new location. Leaves the working tree and the index untouched. By default, updates the relevant references using an atomic transaction (all refs update or none). Use `--ref-action=print` to avoid automatic ref updates and @@ -55,11 +55,10 @@ which uses the target only as a starting point without updating it. The default mode can be configured via the `replay.refAction` configuration variable. :: - Range of commits to replay. More than one can - be passed, but in `--advance ` mode, they should have - a single tip, so that it's clear where should point - to. See "Specifying Ranges" in linkgit:git-rev-parse[1] and the - "Commit Limiting" options below. + Range of commits to replay; see "Specifying Ranges" in + linkgit:git-rev-parse[1]. In `--advance ` mode, the + range should have a single tip, so that it's clear to which tip the + advanced should point. include::rev-list-options.adoc[] diff --git a/builtin/replay.c b/builtin/replay.c index 6606a2c94bc671..507b909df7dc40 100644 --- a/builtin/replay.c +++ b/builtin/replay.c @@ -73,7 +73,7 @@ static struct commit *create_commit(struct repository *repo, const char *message = repo_logmsg_reencode(repo, based_on, NULL, out_enc); const char *orig_message = NULL; - const char *exclude_gpgsig[] = { "gpgsig", NULL }; + const char *exclude_gpgsig[] = { "gpgsig", "gpgsig-sha256", NULL }; commit_list_insert(parent, &parents); extra = read_commit_extra_headers(based_on, exclude_gpgsig); @@ -366,7 +366,7 @@ int cmd_replay(int argc, const char *const replay_usage[] = { N_("(EXPERIMENTAL!) git replay " "([--contained] --onto | --advance ) " - "[--ref-action[=]] ..."), + "[--ref-action[=]] "), NULL }; struct option replay_options[] = { diff --git a/t/t0614-reftable-fsck.sh b/t/t0614-reftable-fsck.sh index 85cc47d67e13bf..677eb9143c9de4 100755 --- a/t/t0614-reftable-fsck.sh +++ b/t/t0614-reftable-fsck.sh @@ -20,7 +20,7 @@ test_expect_success "no errors reported on a well formed repository" ' done && # The repository should end up with multiple tables. - test_line_count ">" 1 .git/reftable/tables.list && + test_line_count -gt 1 .git/reftable/tables.list && git refs verify 2>err && test_must_be_empty err diff --git a/t/t5564-http-proxy.sh b/t/t5564-http-proxy.sh index c3903faf2d3e6f..3bcbdef409b25f 100755 --- a/t/t5564-http-proxy.sh +++ b/t/t5564-http-proxy.sh @@ -40,10 +40,10 @@ test_expect_success 'clone can prompt for proxy password' ' start_socks() { mkfifo socks_output && - { + ( "$PERL_PATH" "$TEST_DIRECTORY/socks4-proxy.pl" "$1" >socks_output & echo $! > "$TRASH_DIRECTORY/socks.pid" - } && + ) && read line first; entry; entry = entry->next) { if (!entry->line2 || entry->line2 == NON_UNIQUE) continue; - i = binary_search(sequence, longest, entry); + if (longest == 0 || entry->line2 > sequence[longest - 1]->line2) + i = longest - 1; + else + i = binary_search(sequence, longest, entry); entry->previous = i < 0 ? NULL : sequence[i]; ++i; if (i <= anchor_i)