Re: Question about git-cherry and the rev list it's using

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Francis Moreau venit, vidit, dixit 13.05.2011 09:02:
> On Fri, May 13, 2011 at 8:54 AM, Francis Moreau <francis.moro@xxxxxxxxx> wrote:
>> [ resending to the mailing list too ]
>>
>> On Thu, May 12, 2011 at 8:47 AM, Michael J Gruber
>> <git@xxxxxxxxxxxxxxxxxxxx> 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.)

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. 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).

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..

Michael
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]