From: Junio C Hamano <gitster@pobox.com>
To: Christian Couder <christian.couder@gmail.com>
Cc: Toon Claes <toon@iotcl.com>,
git@vger.kernel.org, Elijah Newren <newren@gmail.com>
Subject: Re: [PATCH v2] replay: support replaying down from root commit
Date: Wed, 25 Mar 2026 09:49:13 -0700 [thread overview]
Message-ID: <xmqq7bqzx3au.fsf@gitster.g> (raw)
In-Reply-To: <CAP8UFD1zJXnsm7POK32GqEu4xSC+VO5mfzUpM-jn+Nr1qvzEFQ@mail.gmail.com> (Christian Couder's message of "Wed, 25 Mar 2026 11:00:18 +0100")
Christian Couder <christian.couder@gmail.com> writes:
> For example, before this, `git replay --onto main topic` would fail,
> but emit "fatal: replaying down from root commit is not supported
> yet!". This would likely help users understand that they might need to
> properly specify a range like "main..topic" instead of 'topic".
>
> Now it would likely fail without any error message.
The fact that I do not quite understand the suggested change is a
very strong sign that people would be helped by a bit more
documentation ;-).
Depending on what is in "topic" and what "main" has, wouldn't it be
possible that the history leads to "topic" replay cleanly on top of
"main"? And if there are problems (e.g., the replayed history may
want to add a file where "main"'s history already has contents with
a different ancestry sitting there, or the path may be taken by a
directory), wouldn't "git replay" fail loudly explaining what got
conflicted, instead of failing silently?
> Maybe something like the following could help:
>
> --- a/Documentation/git-replay.adoc
> +++ b/Documentation/git-replay.adoc
> @@ -23,6 +23,10 @@ instead get update commands that can be piped to
> `git update-ref --stdin`
>
> THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
>
> +Note that `git replay --onto main topic` replays the topic branch starting
> +from the root commit, not from main. What you might want instead is
> +`git replay --onto main main..topic`.
To be helpful, "might want" needs to be accompanied by "if you want
to do X", I think. In this case, that X probably is "recreate what
was done on 'topic' since it forked from 'main' on top of 'main'".
Thanks.
prev parent reply other threads:[~2026-03-25 16:49 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-17 18:56 [PATCH] replay: support replaying down from root commit Toon Claes
2026-03-17 19:59 ` Junio C Hamano
2026-03-24 17:25 ` Toon Claes
2026-03-24 19:35 ` [PATCH v2] " Toon Claes
2026-03-24 19:53 ` Junio C Hamano
2026-03-25 10:00 ` Christian Couder
2026-03-25 12:19 ` Ben Knoble
2026-03-25 15:35 ` Make git-replay(1) warn if revision-range isn't a range (was: Re: [PATCH v2] replay: support replaying down from root commit) Toon Claes
2026-03-25 15:32 ` [PATCH v2] replay: support replaying down from root commit Toon Claes
2026-03-25 15:37 ` Toon Claes
2026-03-27 16:45 ` Junio C Hamano
2026-03-25 16:49 ` Junio C Hamano [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqq7bqzx3au.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=newren@gmail.com \
--cc=toon@iotcl.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox