public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: Koosha Khajehmoogahi <koosha@posteo•de>
To: Junio C Hamano <gitster@pobox•com>
Cc: git@vger•kernel.org
Subject: Re: [PATCH 1/5] Add a new option 'merges' to revision.c
Date: Mon, 23 Mar 2015 01:42:29 +0100	[thread overview]
Message-ID: <550F6175.9050606@posteo.de> (raw)
In-Reply-To: <xmqqoankbodw.fsf@gitster.dls.corp.google.com>



On 03/23/2015 12:31 AM, Junio C Hamano wrote:
> Koosha Khajehmoogahi <koosha@posteo•de> 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@pobox•com>' 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.

  reply	other threads:[~2015-03-23  0:43 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-22 18:28 [PATCH 1/5] Add a new option 'merges' to revision.c Koosha Khajehmoogahi
2015-03-22 18:28 ` [PATCH 2/5] Make git-log honor log.merges option Koosha Khajehmoogahi
2015-03-22 20:50   ` Eric Sunshine
2015-03-22 18:28 ` [PATCH 3/5] Update documentations for git-log to include the new --merges option and also its corresponding config option Koosha Khajehmoogahi
2015-03-22 21:17   ` Eric Sunshine
2015-03-22 18:28 ` [PATCH 4/5] Add tests for git-log --merges=show|hide|only Koosha Khajehmoogahi
2015-03-22 19:57   ` Torsten Bögershausen
2015-03-22 20:19     ` Eric Sunshine
2015-03-22 22:07     ` Koosha Khajehmoogahi
2015-03-22 22:40       ` Eric Sunshine
2015-03-22 22:41         ` Koosha Khajehmoogahi
2015-03-23  5:14           ` Torsten Bögershausen
2015-03-22 22:26   ` Eric Sunshine
2015-03-22 18:28 ` [PATCH 5/5] Update Bash completion script to include git log --merges option Koosha Khajehmoogahi
2015-03-22 21:24   ` Eric Sunshine
2015-03-23  1:23   ` SZEDER Gábor
2015-03-22 20:43 ` [PATCH 1/5] Add a new option 'merges' to revision.c Eric Sunshine
2015-03-22 23:31 ` Junio C Hamano
2015-03-23  0:42   ` Koosha Khajehmoogahi [this message]
2015-03-23  1:25     ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=550F6175.9050606@posteo.de \
    --to=koosha@posteo$(echo .)de \
    --cc=git@vger$(echo .)kernel.org \
    --cc=gitster@pobox$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox