diff options
author | Michael J Gruber <git@drmicha.warpmail.net> | 2011-03-21 11:14:06 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-03-23 10:16:44 -0700 |
commit | ad5aeeded3295589b2573b143f754762a56f8f82 (patch) | |
tree | 264a93fc2b35d7e97ae4cd89b16d011cd4e149fa /revision.h | |
parent | 8ee50594889056322f2fc00a589a36e83b9119fd (diff) | |
download | git-ad5aeeded3295589b2573b143f754762a56f8f82.tar.gz |
revision.c: introduce --min-parents and --max-parents options
Introduce --min-parents and --max-parents options which limit the
revisions to those commits which have at least (or at most) that many
commits, where negative arguments for --max-parents= denote infinity
(i.e. no upper limit).
In particular:
--max-parents=1 is the same as --no-merges;
--min-parents=2 is the same as --merges;
--max-parents=0 shows only roots; and
--min-parents=3 shows only octopus merges
Using --min-parents=n and --max-parents=m with n>m gives you what you ask
for (i.e. nothing) for obvious reasons, just like when you give --merges
(show only merge commits) and --no-merges (show only non-merge commits) at
the same time.
Also, introduce --no-min-parents and --no-max-parents to do the obvious
thing for convenience.
We compute the number of parents only when we limit by that, so there
is no performance impact when there are no limiters.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'revision.h')
-rw-r--r-- | revision.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/revision.h b/revision.h index 1c0abf0f58..8214a55348 100644 --- a/revision.h +++ b/revision.h @@ -41,8 +41,6 @@ struct rev_info { /* Traversal flags */ unsigned int dense:1, prune:1, - no_merges:1, - merges_only:1, no_walk:1, show_all:1, remove_empty_trees:1, @@ -126,6 +124,8 @@ struct rev_info { int max_count; unsigned long max_age; unsigned long min_age; + int min_parents; + int max_parents; /* diff info for patches and for paths limiting */ struct diff_options diffopt; |