Merge branch 'kd/rev-list-bisect-first-parent'

"git rev-list --bisect --first-parent" does not work (yet) and can
even cause SEGV; forbid it.  "git log --bisect --first-parent"
would not be useful until "git bisect --first-parent" materializes,
so it is also forbidden for now.

* kd/rev-list-bisect-first-parent:
  rev-list: refuse --first-parent combined with --bisect
This commit is contained in:
Junio C Hamano 2015-03-25 12:54:21 -07:00
commit 257b204f25
3 changed files with 11 additions and 3 deletions

View File

@ -123,7 +123,8 @@ parents) and `--max-parents=-1` (negative numbers denote no upper limit).
because merges into a topic branch tend to be only about because merges into a topic branch tend to be only about
adjusting to updated upstream from time to time, and adjusting to updated upstream from time to time, and
this option allows you to ignore the individual commits this option allows you to ignore the individual commits
brought in to your history by such a merge. brought in to your history by such a merge. Cannot be
combined with --bisect.
--not:: --not::
Reverses the meaning of the '{caret}' prefix (or lack thereof) Reverses the meaning of the '{caret}' prefix (or lack thereof)
@ -185,7 +186,7 @@ ifndef::git-rev-list[]
Pretend as if the bad bisection ref `refs/bisect/bad` Pretend as if the bad bisection ref `refs/bisect/bad`
was listed and as if it was followed by `--not` and the good was listed and as if it was followed by `--not` and the good
bisection refs `refs/bisect/good-*` on the command bisection refs `refs/bisect/good-*` on the command
line. line. Cannot be combined with --first-parent.
endif::git-rev-list[] endif::git-rev-list[]
--stdin:: --stdin::
@ -566,7 +567,7 @@ outputs 'midpoint', the output of the two commands
would be of roughly the same length. Finding the change which would be of roughly the same length. Finding the change which
introduces a regression is thus reduced to a binary search: repeatedly introduces a regression is thus reduced to a binary search: repeatedly
generate and test new 'midpoint's until the commit chain is of length generate and test new 'midpoint's until the commit chain is of length
one. one. Cannot be combined with --first-parent.
--bisect-vars:: --bisect-vars::
This calculates the same as `--bisect`, except that refs in This calculates the same as `--bisect`, except that refs in

View File

@ -2342,6 +2342,9 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
if (!revs->reflog_info && revs->grep_filter.use_reflog_filter) if (!revs->reflog_info && revs->grep_filter.use_reflog_filter)
die("cannot use --grep-reflog without --walk-reflogs"); die("cannot use --grep-reflog without --walk-reflogs");
if (revs->first_parent_only && revs->bisect)
die(_("--first-parent is incompatible with --bisect"));
return left; return left;
} }

View File

@ -96,4 +96,8 @@ test_expect_success 'rev-list can show index objects' '
test_cmp expect actual test_cmp expect actual
' '
test_expect_success '--bisect and --first-parent can not be combined' '
test_must_fail git rev-list --bisect --first-parent HEAD
'
test_done test_done