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.
next prev parent 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