Re: Question about git-cherry and the rev list it's using
- From
- Francis Moreau <francis.moro@gmail.com>
- Date
- May 13, 2011, 16:29 UTC
- Message-ID
- <BANLkTik4Gt8y0kSBcMrROTd67dfxMXO-KA@mail.gmail.com>
- In-Reply-To
- <4DCD1254.4050008@drmicha.warpmail.net>
On Fri, May 13, 2011 at 1:13 PM, Michael J Gruber <git@drmicha.warpmail.net> wrote:
Show 30 quoted lines
> Francis Moreau venit, vidit, dixit 13.05.2011 09:02: >> On Fri, May 13, 2011 at 8:54 AM, Francis Moreau <francis.moro@gmail.com> wrote: >>> [ resending to the mailing list too ] >>> >>> On Thu, May 12, 2011 at 8:47 AM, Michael J Gruber >>> <git@drmicha.warpmail.net> wrote: >>>> Francis Moreau venit, vidit, dixit 11.05.2011 18:11: >>>>> Hello, >>>>> >>>>> I'm using "git cherry old master base" to see if all commits between >>>>> master and base have been applied in my 'old' branch. >>>>> >>>>> So I expect that git cherry is using a list of commits given by : "git >>>>> rev-list --no-merges base..master". >>>> >>>> Not really. >>>> >>>> For each commit in "--no-merges old..master ^base" (i.e. "--no-merges >>>> master ^old ^base"), "git cherry" checks whether there is a patch >>>> equivalent commit in "--no-merges master..old", and outputs it with + or -. >>>> >>> >>> oh you're right, I missed the case when old has been merged in master. >>> >> >> BTW, can't it be convenient for users if git-cherry also displays the >> sha1 of the commits which have been merged upstream (the ones with the >> '-' sign) ? > > (I assume you mean the sha1 of the commit as it is in upstream.)
yes.
> > Well, in general the map "sha1 to patchid" is not one-to-one and may not > even be two-to-one. So we possibly would have to list more than one sha1 > along with the -1.
just showing the latest one would be nice though.
> Anyways, with the current implementation you can't do > that, and it is not simple to change (because we may traverse *a lot* of > commits if base and upstream are far apart or disconnected).
Ah, with my naive view I would have thought that to process the patch-id of a commit in upstream and compare it, git has the sha1.
> > Note that "git cherry -v" gives you the subjects so that you can grep > for those in case they match in your work flow. Same with "git log > --cherry --oneline" etc..
yes but as you said the subjects must match which is not always the case (otherwise that would make patch-id unneeded)
Thanks
-- Francis