зеркало из https://github.com/microsoft/git.git
Merge branch 'cc/bisect-start-fix'
"git bisect start X Y", when X and Y are not valid committish object names, should take X and Y as pathspec, but didn't. * cc/bisect-start-fix: bisect: don't use invalid oid as rev when starting
This commit is contained in:
Коммит
03a01824a4
|
@ -484,14 +484,13 @@ static int bisect_start(struct bisect_terms *terms, const char **argv, int argc)
|
|||
terms->term_bad = xstrdup(arg);
|
||||
} else if (starts_with(arg, "--")) {
|
||||
return error(_("unrecognized option: '%s'"), arg);
|
||||
} else {
|
||||
char *commit_id = xstrfmt("%s^{commit}", arg);
|
||||
if (get_oid(commit_id, &oid) && has_double_dash)
|
||||
die(_("'%s' does not appear to be a valid "
|
||||
"revision"), arg);
|
||||
|
||||
} else if (!get_oidf(&oid, "%s^{commit}", arg)) {
|
||||
string_list_append(&revs, oid_to_hex(&oid));
|
||||
free(commit_id);
|
||||
} else if (has_double_dash) {
|
||||
die(_("'%s' does not appear to be a valid "
|
||||
"revision"), arg);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
pathspec_pos = i;
|
||||
|
|
|
@ -82,6 +82,13 @@ test_expect_success 'bisect fails if given any junk instead of revs' '
|
|||
git bisect bad $HASH4
|
||||
'
|
||||
|
||||
test_expect_success 'bisect start without -- takes unknown arg as pathspec' '
|
||||
git bisect reset &&
|
||||
git bisect start foo bar &&
|
||||
grep foo ".git/BISECT_NAMES" &&
|
||||
grep bar ".git/BISECT_NAMES"
|
||||
'
|
||||
|
||||
test_expect_success 'bisect reset: back in the master branch' '
|
||||
git bisect reset &&
|
||||
echo "* master" > branch.expect &&
|
||||
|
|
Загрузка…
Ссылка в новой задаче