On Thu, Feb 04, 2021 at 04:56:16PM -0800, Junio C Hamano wrote: > > 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