Re: [PATCH 1/5] Add a new option 'merges' to revision.c

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

 




On 03/23/2015 12:31 AM, Junio C Hamano wrote:
> Koosha Khajehmoogahi <koosha@xxxxxxxxx> writes:
> 
>> @@ -1800,9 +1817,14 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
>>  		revs->show_all = 1;
>>  	} else if (!strcmp(arg, "--remove-empty")) {
>>  		revs->remove_empty_trees = 1;
>> +	} else if (starts_with(arg, "--merges=")) {
>> +		if (parse_merges_opt(revs, arg + 9))
>> +			die("unknown option: %s", arg);
> 
> This one makes sense to me (so does what the parse_merges_opt()
> does).

In fact this change was written by you in your previous kind review :-)

I will add a 'From: Junio C Hamano <gitster@xxxxxxxxx>' header to my next patch.

> 
>>  	} else if (!strcmp(arg, "--merges")) {
>> +		revs->max_parents = -1;
>>  		revs->min_parents = 2;
> 
> But is this change warranted?  An existing user who is not at all
> interested in the new --merges= option may be relying on the fact
> that "--merges" does not affect the value of max_parents and she can
> say "log --max-parents=2 --merges" to see only the two-way merges,
> for example.  This change just broke her, and I do not see why it is
> a good thing.

The point is that if you have your log.merges conf option set to 'hide'
and you use git log --merges (two mutually conflicting options),
git will silently exit without anything to show. We need to clear the
max_parents set by parse_merges_opt() as the user should be able to continue
to use --merges without problem. But, your point is also valid.

> 
>>  	} else if (!strcmp(arg, "--no-merges")) {
>> +		revs->min_parents = 0;
>>  		revs->max_parents = 1;
> 
> Likewise.
> 

Similarly, without this, if log.merges is set to 'only' and you use git log --no-merges,
you will still see the merges in the output.
--
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]