Subject: Re: How can I easily verify my diffs are in parent branch?

From: Junio C Hamano <[email-masked]>
Date: Wed, 04 Apr 2007 22:25:05 -0700

Linus Torvalds <[email-masked]> writes:

> So to compare all patch-ID's, you can do
>
> 	git cherry cvs-upstream my-branch
>
> adn it should look at all the commits that are in *your* branch but not 
> upstream, and report their ID's preceded by a "-" if they are upstream, 
> and a "+" if they are not.
>
> You can then look at the "+" commits more closely, to see whether maybe 
> they actually did get merged, but got changed/fixed in the process, or 
> whether they really are missing.

Funny.

Last night I was thinking about git-cherry, as it is one of the
few commands that have "funny parameter semantics that do not
mesh well with git-log family" (others are format-patch and
rebase).

I think we should be able to use --left-right and ... operator
to express what the above cherry does with something like:

    $ git log --left-right --ignore-common-patch cvs-upstream...my-branch

The --ignore-common-patch option does not exist yet, but the
basic code to implement it should already be accessible from the
log family, as that is what format-patch needs to do.