Re: [PATCH 0/6] Optionally restrict range-diff output to "left" or "right" range only
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Feb 5, 2021, 20:05 UTC
- Message-ID
- <YB2lHmLxe8ArFz0v@nand.local>
- In-Reply-To
- <xmqqtuqr2uz3.fsf@gitster.c.googlers.com>
On Thu, Feb 04, 2021 at 04:56:16PM -0800, Junio C Hamano wrote:
Show 20 quoted lines
> > I'd add an additional use-case, which is ignoring new commits from
> > upstream when displaying a range-diff in rerolled patch series.
> >
> > Oftentimes I'll find that the automatically-prepared range diff that
> > 'git format-patch --cover-letter --range-diff' generates will include
> > new commits from upstream, so these new options should help me ignore
> > those in the output.
>
> Do you mean that the new round is based on an updated upstream
> commit, while the old series was based on a bit older upstream?
> After rebasing your topic, "range-diff @{1}..." would find the
> updates in the base (made in the upstream) plus the new round of
> your work on the right hand side of the symmetric range, while the
> left hand side solely consists of your old round (unless the
> upstream rewound their work, which should not happen). But that
> must not be it, I guess, because in such a case, among the commits
> in @{1}..HEAD, we cannot (eh, at least range-diff cannot) tell which
> one came from upstream and which one came from our fingers.
>
> So I am a bit puzzled there.I'm talking about a situation where a later re-roll is based of of a newer upstream. But your judgement is right: upstream's updates look like "new" commits on the right-hand side.
I have some scripts built around this, but they all boil down to passing '--range-diff=@{1}' (where @{1} is the tip of the previous reroll) to format-patch. See:
https://github.com/ttaylorr/dotfiles/blob/work-gh/bin/git-mail#L8-L10
for details.
IIUC this series, I think I'd also want to start passing '--left-only' to ignore the new commits from upstream in a range-diff, no?
Thanks, Taylor