Re: [PATCH] doc: log takes multiple revision ranges

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

 



Hi Philip,

> Le 5 juil. 2020 à 16:42, Philip Oakley <philipoakley@iee.email> a écrit :
> 
> Hi Philippe,
> This had been sitting in my inbox..
> 
-----8<-----
>> 
>> What I wanted to achieve with this patch is to make readers aware that 
>> they can write e.g.
>> 
>>    git log branch1 branch2 branch3 branch4 --not master
>> 
>> to see commits on each of branch1-4, that are not on master, 
>> since this is not immediately obvious (at least to me)
>> in the 'git log' man page. 
> 
> The whole revision walk stuff is tricky. Finding the right starting
> point for explanations is key, along with picking out where 'normal'
> errors are made, as these do help users who aren't simply 'checking the
> manual'. (the 20-20 hindsight problem)
> 
> For example, your "that are not on master", and what that means, needs
> to be brought out to the new reader rather than being buried
> mid-sentence. Most readers will miss those mid-sentence key points and
> they can't learn until they have some significant problem that points it
> out to them. Sometime we need to point at the 'wrong' things, not just
> the right things. (e.g. if branch3 had ben merged a couple of revisions
> ago...)

Yes, here I meant "on master" in the "not yet merged into master" sense, of course.
I'd be more careful if I was writing a commit message or part of the doc itself.

> 
>> Even following the link to gitrevisions[7], 
>> it is not explicitly mentioned in the "Specifying Ranges" section 
>> that a range denotes the set of all commits reachable by all given refs, 
>> minus the ones reachable by all given refs prefixed by '^' or '--not'.
>> However, this is really clear in the 'git rev-list' documentation, 
>> which uses  '<commit>...' in the synopsis
>> and clearly talks about the "set of commits" point of view:
>> 
>>    You can think of this as a set operation. Commits given on the command line form 
>>    a set of commits that are reachable from any of them, and then commits reachable 
>>    from any of the ones given with ^ in front are subtracted from that set. The remaining 
>>    commits are what comes out in the command’s output. Various other options and 
>>    paths parameters can be used to further limit the result.
>> 
> Set operations don't help everyone, just sayin'.
> 
> In some cases: The fact that we exclude any commit reachable from any of
> the "^" commits should be mentioned first, and then we select any left
> that are reachable from the named tips. This puts a different spin on
> the  understanding, and helps catch those that have not understood the
> other descriptions. It can then be easily linked to the 'two ranges'
> case producing otherwise unexpected results.

I'll try to tweak the wording for v3.

Thanks,
Philippe.





[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]

  Powered by Linux