diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-10-04 12:49:08 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-10-04 12:49:08 -0700 |
commit | 03a01824a4ee07cd06b152bbff45066d6cf5542b (patch) | |
tree | 4a038a3a4036c0faa7f38a86d160540eff9adcb6 /builtin/bisect--helper.c | |
parent | 230ff3e9970755fe4ba2e69165eab1f61752f1d1 (diff) | |
parent | 73c6de06aff8d14b5e9f55f393d25f1213f3d43d (diff) | |
download | git-03a01824a4ee07cd06b152bbff45066d6cf5542b.tar.gz |
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
Diffstat (limited to 'builtin/bisect--helper.c')
-rw-r--r-- | builtin/bisect--helper.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/builtin/bisect--helper.c b/builtin/bisect--helper.c index 7dcc1b5188..2f8ef0ea30 100644 --- a/builtin/bisect--helper.c +++ b/builtin/bisect--helper.c @@ -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; |