summaryrefslogtreecommitdiff
path: root/builtin-bisect--helper.c
diff options
context:
space:
mode:
authorChristian Couder <chriscool@tuxfamily.org>2009-03-26 05:55:54 +0100
committerJunio C Hamano <gitster@pobox.com>2009-04-05 01:29:44 -0700
commit1bf072e3661eeef8d9721079a332e804b5678c7e (patch)
tree577fcb5ff7e3b0fc533f7be372649bdf2823c0e1 /builtin-bisect--helper.c
parent4eb5b64631d281f3789b052efac53f4c1ec2c1b6 (diff)
downloadgit-1bf072e3661eeef8d9721079a332e804b5678c7e.tar.gz
bisect--helper: implement "git bisect--helper"
This patch implements a new "git bisect--helper" builtin plumbing command that will be used to migrate "git-bisect.sh" to C. We start by implementing only the "--next-vars" option that will read bisect refs from "refs/bisect/", and then compute the next bisect step, and output shell variables ready to be eval'ed by the shell. At this step, "git bisect--helper" ignores the paths that may have been put in "$GIT_DIR/BISECT_NAMES". This will be fixed in a later patch. 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.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/builtin-bisect--helper.c b/builtin-bisect--helper.c
new file mode 100644
index 0000000000..8fe778766a
--- /dev/null
+++ b/builtin-bisect--helper.c
@@ -0,0 +1,27 @@
+#include "builtin.h"
+#include "cache.h"
+#include "parse-options.h"
+#include "bisect.h"
+
+static const char * const git_bisect_helper_usage[] = {
+ "git bisect--helper --next-vars",
+ NULL
+};
+
+int cmd_bisect__helper(int argc, const char **argv, const char *prefix)
+{
+ int next_vars = 0;
+ struct option options[] = {
+ OPT_BOOLEAN(0, "next-vars", &next_vars,
+ "output next bisect step variables"),
+ OPT_END()
+ };
+
+ argc = parse_options(argc, argv, options, git_bisect_helper_usage, 0);
+
+ if (!next_vars)
+ usage_with_options(git_bisect_helper_usage, options);
+
+ /* next-vars */
+ return bisect_next_vars(prefix);
+}