replay: use standard revision ranges
commit3916ec307eda00d1aab23cf8d1b6ddc5c4f3601d
authorElijah Newren <newren@gmail.com>
Fri, 24 Nov 2023 11:10:40 +0000 (24 12:10 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sun, 26 Nov 2023 01:10:49 +0000 (26 10:10 +0900)
treeac37d9e4c202d4b25879f7fb43aa13caa1fd1264
parent81613be31e0bedf8709fa0962f1b6f85dcb053a2
replay: use standard revision ranges

Instead of the fixed "<oldbase> <branch>" arguments, the replay
command now accepts "<revision-range>..." arguments in a similar
way as many other Git commands. This makes its interface more
standard and more flexible.

This also enables many revision related options accepted and
eaten by setup_revisions(). If the replay command was a high level
one or had a high level mode, it would make sense to restrict some
of the possible options, like those generating non-contiguous
history, as they could be confusing for most users.

Also as the interface of the command is now mostly finalized,
we can add more documentation and more testcases to make sure
the command will continue to work as designed in the future.

We only document the rev-list related options among all the
revision related options that are now accepted, as the rev-list
related ones are probably the most useful for now.

Helped-by: Dragan Simic <dsimic@manjaro.org>
Helped-by: Linus Arver <linusa@google.com>
Co-authored-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-replay.txt
builtin/replay.c
t/t3650-replay-basics.sh
t/t6429-merge-sequence-rename-caching.sh