All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael J Gruber <git@drmicha.warpmail.net>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	Jeff King <peff@peff.net>
Subject: Re: [PATCHv2 3/3] rev-list --min-parents,--max-parents: doc and test and completion
Date: Tue, 22 Mar 2011 08:55:00 +0100	[thread overview]
Message-ID: <4D8855D4.6080804@drmicha.warpmail.net> (raw)
In-Reply-To: <20110321184514.GA1850@elie>

Jonathan Nieder venit, vidit, dixit 21.03.2011 19:45:
> Michael J Gruber wrote:
> 
>> Based on mg/rev-list-one-side-only (in next) to save Junio a build conflict
>> resolution.
> 
> Not a serious problem, but I wish it hadn't been.  What particular

But why? Basing it on something earlier would have served no purpose
(that I know of) at all.

I should have mentioned the dependency in v1.

> functionality from that branch does this use?
> 
> Ah, now that I check it seems that that is to change a use of
> no_merges in the implementation of --cherry to use the new API?  Makes
> sense (and good catch).  With that hunk skipped, the patches apply to
> master.

Yes, revs->no_merges and revs->merges are gone, so a series based on
master would produce a compile failure when applied to next.

> 
>> --- a/Documentation/rev-list-options.txt
>> +++ b/Documentation/rev-list-options.txt
>> @@ -72,11 +72,24 @@ endif::git-rev-list[]
>>  
>>  --merges::
>>  
>> -	Print only merge commits.
>> +	Print only merge commits. This is equivalent to `--min-parents=2`.
>>  
>>  --no-merges::
>>  
>> -	Do not print commits with more than one parent.
>> +	Do not print commits with more than one parent. This is
>> +	equivalent to `--max-parents=1`.
>> +
>> +--min-parents::
>> +--max-parents::
>> +
>> +	Show only commits which have at least resp. at most that many
> 
> ENOPARSE.  I guess parentheses around "resp. at most" would work as
> a minimal fix, but it might be better to say:
> 
>  --min-parents=<n>::
> 	Show only commits which have at least <n> parents.
> 
>  --max-parents=<n>::
> 	Show only commits which have at least <n> parents.
> 
> and perhaps to put
> 
>  git log --max-parents=0::
> 	Lists all root commits.
> 
>  git log --min-parents=3::
> 	Lists all octopus merges.
> 
> under EXAMPLES.
> 

Well, we discussed this under the v1 thread (after v2 was sent). Junio,
should I do a v3 with that or this?

>> +	commits, where negative parameters for `--max-parents=` denote
>> +	infinity (i.e. no upper	limit).
> 
> Seems hackish.  Maybe --no-max-parents could denote infinity?

For me, "-1" is a quite natural way to reset a count type parameter, and
you don't even have to think "unsigned" or "mod max_int" for that.

There is no problem parsing for "--max-parents=infinity" and/or
"--no-max-parents" or even (better?) "--max-parents=" without number,
it's only a matter of bike shedding decisions.

>> ++
>> +In particular, `--max-parents=1` is `--no-merges`, `--min-parents=2` is
>> +`--merges` (only), `--max-parents=0` gives all root commits and
>> +`--min-parents=3` all octopuses.
>> +
>>  
>>  --first-parent::
> 
> It seems there is an extra newline here.
> 
>> --- a/t/t6009-rev-list-parent.sh
>> +++ b/t/t6009-rev-list-parent.sh
>> @@ -1,9 +1,17 @@
>>  #!/bin/sh
>>  
>> -test_description='properly cull all ancestors'
>> +test_description='ancestor culling and limiting by parent number'
>>  
>>  . ./test-lib.sh
>>  
>> +check_revlist () {
>> +	rev_list_args="$1" &&
>> +	shift &&
>> +	git rev-parse "$@" >expect &&
>> +	git rev-list $rev_list_args --all >actual &&
>> +	test_cmp expect actual
>> +}
>> + 
> 
> "git am" warns about trailing whitespace on the line after the closing
> brace (nothing that --whitespace=fix can't fix, though).

Hmmm, are there whitespace issues which am warns about and diff does
not, or have I missed a warning?

> 
> Thanks for factoring this out btw.  It makes the tests themselves
> very easy to read.
> 
>> +test_expect_success 'rev-list override and infinities' '
>> +
>> +	check_revlist "--min-parents=2 --max-parents=1 --max-parents=3" tripus normalmerge &&
>> +	check_revlist "--min-parents=1 --min-parents=2 --max-parents=7" tetrapus tripus normalmerge &&
>> +	check_revlist "--min-parents=2 --max-parents=8" tetrapus tripus normalmerge &&
>> +	check_revlist "--min-parents=2 --max-parents=-1" tetrapus tripus normalmerge
>> +'
> 
> 7 and 8 don't mean infinity any more, do they?  What is this test
> checking?

The test checks "override and infinities", where the plural indicates
the fact that it tests different ways of spelling (practical) infinity
such as the very suggestive "8" which nobody cares about but me.

Michael

  reply	other threads:[~2011-03-22  7:58 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-17 11:33 [PATCH/RFD 0/2] revision.c: --merges, --no-merges and --merges-only Michael J Gruber
2011-03-17 11:33 ` [PATCH/RFD 1/2] revision.c: rename --merges to --merges-only Michael J Gruber
2011-03-17 11:33 ` [PATCH/RFD 2/2] revision.c: introduce --merges to undo --no-merges Michael J Gruber
2011-03-17 19:23 ` [PATCH/RFD 0/2] revision.c: --merges, --no-merges and --merges-only Junio C Hamano
2011-03-17 19:59 ` Jeff King
2011-03-18  7:56   ` Michael J Gruber
2011-03-18  8:22     ` Junio C Hamano
2011-03-18  8:41       ` Michael J Gruber
2011-03-18  8:56       ` Jeff King
2011-03-18 14:50         ` [PATCH 0/3] rev-list and friends: --min-parents, --max-parents Michael J Gruber
2011-03-18 14:50           ` [PATCH 1/3] revision.c: introduce --min-parents and --max-parents Michael J Gruber
2011-03-18 19:34             ` Jeff King
2011-03-21  7:31               ` Michael J Gruber
2011-03-18 20:48             ` Jonathan Nieder
2011-03-18 21:21               ` Junio C Hamano
2011-03-21  9:26               ` Michael J Gruber
2011-03-18 14:50           ` [PATCH 2/3] t6009: use test_commit() from test-lib.sh Michael J Gruber
2011-03-18 14:50           ` [PATCH 3/3] rev-list --min-parents,--max-parents: doc and test and completion Michael J Gruber
2011-03-18 19:48             ` Jeff King
2011-03-21  9:01               ` Michael J Gruber
2011-03-21 10:54                 ` Jeff King
2011-03-21 12:06                   ` Michael J Gruber
2011-03-21 14:54                     ` Junio C Hamano
2011-03-21 14:56                       ` Michael J Gruber
2011-03-21 16:47                         ` Junio C Hamano
2011-03-18 21:14             ` Jonathan Nieder
2011-03-21  8:52               ` Michael J Gruber
2011-03-21 17:49                 ` Jonathan Nieder
2011-03-22  7:38                   ` Michael J Gruber
2011-03-18 14:54           ` [PATCH 0/3] rev-list and friends: --min-parents, --max-parents Michael J Gruber
2011-03-18 19:41           ` Jeff King
2011-03-21  7:42             ` Michael J Gruber
2011-03-21 10:14               ` [PATCHv2 " Michael J Gruber
2011-03-21 10:14                 ` [PATCHv2 1/3] t6009: use test_commit() from test-lib.sh Michael J Gruber
2011-03-21 10:14                 ` [PATCHv2 2/3] revision.c: introduce --min-parents and --max-parents Michael J Gruber
2011-03-21 14:04                   ` Michael J Gruber
2011-03-21 17:45                   ` Junio C Hamano
2011-03-21 17:58                   ` Jonathan Nieder
2011-03-21 10:14                 ` [PATCHv2 3/3] rev-list --min-parents,--max-parents: doc and test and completion Michael J Gruber
2011-03-21 18:45                   ` Jonathan Nieder
2011-03-22  7:55                     ` Michael J Gruber [this message]
2011-03-23  0:47                       ` Jonathan Nieder
2011-03-21 10:56                 ` [PATCHv2 0/3] rev-list and friends: --min-parents, --max-parents Jeff King
2011-03-23  9:38                   ` [PATCHv3 0/5]rev-list " Michael J Gruber
2011-03-23  9:38                     ` [PATCHv3 1/5] t6009: use test_commit() from test-lib.sh Michael J Gruber
2011-03-23  9:38                     ` [PATCHv3 2/5] revision.c: introduce --min-parents and --max-parents Michael J Gruber
2011-03-23  9:38                     ` [PATCHv3 3/5] squash! " Michael J Gruber
2011-03-23  9:38                     ` [PATCHv3 4/5] rev-list --min-parents,--max-parents: doc, test and completion Michael J Gruber
2011-03-23  9:38                     ` [PATCHv3 5/5] fixup! " Michael J Gruber
2011-03-23 14:48                     ` [PATCHv3 0/5]rev-list and friends: --min-parents, --max-parents Jeff King
2011-03-23 17:12                       ` Junio C Hamano
2011-03-23 18:06                     ` Junio C Hamano
2011-03-24  8:21                     ` Jonathan Nieder
2011-03-24  8:55                       ` Michael J Gruber
2011-03-24  9:42                         ` Jonathan Nieder
2011-08-08  1:13                       ` [PATCH/RFC 0/2] test_when_finished and returning early Jonathan Nieder
2011-08-08  1:15                         ` [PATCH 1/2] test: simplify return value of test_run_ Jonathan Nieder
2011-08-08  1:17                         ` [PATCH 2/2] test: cope better with use of return for errors Jonathan Nieder
2011-08-09  8:46                           ` Johannes Sixt
2011-08-09 15:36                             ` Jeff King
2011-08-11  7:05                               ` [PATCH v2] t3900: do not reference numbered arguments from the test script Johannes Sixt
2011-08-11  7:11                                 ` Jonathan Nieder
2011-08-11 21:49                                   ` Junio C Hamano
2011-08-08  1:26                         ` [PATCH/RFC 0/2] test_when_finished and returning early Jeff King
2011-03-18  9:07     ` [PATCH/RFD 0/2] revision.c: --merges, --no-merges and --merges-only Jeff King
2011-03-18  9:42       ` Michael J Gruber
2011-03-18  9:54         ` Jeff King

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=4D8855D4.6080804@drmicha.warpmail.net \
    --to=git@drmicha.warpmail.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jrnieder@gmail.com \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.