summaryrefslogtreecommitdiff
path: root/builtin-bisect--helper.c
diff options
context:
space:
mode:
authorChristian Couder <chriscool@tuxfamily.org>2009-04-19 11:56:07 +0200
committerJunio C Hamano <gitster@pobox.com>2009-05-10 00:30:28 -0700
commitef24c7ca055f03c673c2b67a3a7c92bcc32f62f0 (patch)
tree412a7f1c5096cc4a86585f5f60edd69e3ca11509 /builtin-bisect--helper.c
parent2ace9727be2b04ce9fbc5939466da38be7fd8496 (diff)
downloadgit-ef24c7ca055f03c673c2b67a3a7c92bcc32f62f0.tar.gz
bisect--helper: add "--next-exit" to output bisect results
The goal of this patch is to port more shell code from the "bisect_next" function in "git-bisect.sh" to C code in "builtin-bisect--helper.c". So we port the code that interprets the bisection result and stops or continues (by checking out the next revision) the bisection process. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-bisect--helper.c')
-rw-r--r--builtin-bisect--helper.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/builtin-bisect--helper.c b/builtin-bisect--helper.c
index 8fe778766a..cb86a9a9e0 100644
--- a/builtin-bisect--helper.c
+++ b/builtin-bisect--helper.c
@@ -5,23 +5,29 @@
static const char * const git_bisect_helper_usage[] = {
"git bisect--helper --next-vars",
+ "git bisect--helper --next-exit",
NULL
};
int cmd_bisect__helper(int argc, const char **argv, const char *prefix)
{
int next_vars = 0;
+ int next_exit = 0;
struct option options[] = {
OPT_BOOLEAN(0, "next-vars", &next_vars,
"output next bisect step variables"),
+ OPT_BOOLEAN(0, "next-exit", &next_exit,
+ "output bisect result and exit instuctions"),
OPT_END()
};
argc = parse_options(argc, argv, options, git_bisect_helper_usage, 0);
- if (!next_vars)
+ if ((next_vars && next_exit) || (!next_vars && !next_exit))
usage_with_options(git_bisect_helper_usage, options);
- /* next-vars */
- return bisect_next_vars(prefix);
+ if (next_vars)
+ return bisect_next_vars(prefix);
+ else /* next-exit */
+ return bisect_next_exit(prefix);
}