Skip to content

Commit d91fdbb

Browse files
committed
Documentation/git-replay.adoc: fix errors around revision range
There was significant confusion in the git-replay manual about what constitutes a revision range. As noted in f302c1e (revisions(7): clarify that most commands take a single revision range, 2021-05-18): Commands that are specifically designed to take two distinct ranges (e.g. "git range-diff R1 R2" to compare two ranges) do exist, but they are exceptions. Unless otherwise noted, all "git" commands that operate on a set of commits work on a single revision range. `git replay` is not an exception, but a few places in the manual were written as though it were. These appear to have come in revisions to the original series, between v3->v4 (see https://lore.kernel.org/git/CAP8UFD3bpLrVW97DH7j=V9H2GsTSAkksC9L3QujQERFk_kLnZA@mail.gmail.com/ , "More than one <revision-range> can be passed") and between v6->v7 (https://lore.kernel.org/git/[email protected]/, "Takes ranges of commits"), and I missed both of these revisions when reviewing. Fix them now. There was also a reference to the "Commit Limiting options below", but this page has no such section of options; strike the misleading reference. It is worth noting that we are documenting existing behavior, rather than optimal behavior. Junio has multiple times suggested introducing alternative ways to walk revisions and use them in `git replay --advance`, e.g. at * https://lore.kernel.org/git/[email protected]/ * https://lore.kernel.org/git/[email protected]/ * https://lore.kernel.org/git/[email protected]/ (item (2)) If/when we introduce some new revision walking flag that implements one of these alternate types of revision walks, we can update the --advance option and this manual appropriately. Signed-off-by: Elijah Newren <[email protected]>
1 parent b31ab93 commit d91fdbb

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

Documentation/git-replay.adoc

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ git-replay - EXPERIMENTAL: Replay commits on a new base, works with bare repos t
99
SYNOPSIS
1010
--------
1111
[verse]
12-
(EXPERIMENTAL!) 'git replay' ([--contained] --onto <newbase> | --advance <branch>) [--ref-action[=<mode>]] <revision-range>...
12+
(EXPERIMENTAL!) 'git replay' ([--contained] --onto <newbase> | --advance <branch>) [--ref-action[=<mode>]] <revision-range>
1313

1414
DESCRIPTION
1515
-----------
1616

17-
Takes ranges of commits and replays them onto a new location. Leaves
17+
Takes a range of commits and replays them onto a new location. Leaves
1818
the working tree and the index untouched. By default, updates the
1919
relevant references using an atomic transaction (all refs update or
2020
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.
5555
The default mode can be configured via the `replay.refAction` configuration variable.
5656

5757
<revision-range>::
58-
Range of commits to replay. More than one <revision-range> can
59-
be passed, but in `--advance <branch>` mode, they should have
60-
a single tip, so that it's clear where <branch> should point
61-
to. See "Specifying Ranges" in linkgit:git-rev-parse[1] and the
62-
"Commit Limiting" options below.
58+
Range of commits to replay; see "Specifying Ranges" in
59+
linkgit:git-rev-parse[1]. In `--advance <branch>` mode, the
60+
range should have a single tip, so that it's clear to which tip the
61+
advanced <branch> should point.
6362

6463
include::rev-list-options.adoc[]
6564

builtin/replay.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ int cmd_replay(int argc,
366366
const char *const replay_usage[] = {
367367
N_("(EXPERIMENTAL!) git replay "
368368
"([--contained] --onto <newbase> | --advance <branch>) "
369-
"[--ref-action[=<mode>]] <revision-range>..."),
369+
"[--ref-action[=<mode>]] <revision-range>"),
370370
NULL
371371
};
372372
struct option replay_options[] = {

0 commit comments

Comments
 (0)