From c91f0d92efb36d7b349f586cafafaf0e6ac3f5b2 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Fri, 8 Sep 2006 04:05:34 -0400 Subject: git-commit.sh: convert run_status to a C builtin This creates a new git-runstatus which should do roughly the same thing as the run_status function from git-commit.sh. Except for color support, the main focus has been to keep the output identical, so that it can be verified as correct and then used as a C platform for other improvements to the status printing code. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- builtin-runstatus.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 builtin-runstatus.c (limited to 'builtin-runstatus.c') diff --git a/builtin-runstatus.c b/builtin-runstatus.c new file mode 100644 index 000000000..7979d6129 --- /dev/null +++ b/builtin-runstatus.c @@ -0,0 +1,34 @@ +#include "wt-status.h" +#include "cache.h" + +extern int wt_status_use_color; + +static const char runstatus_usage[] = +"git-runstatus [--color|--nocolor] [--amend] [--verbose]"; + +int cmd_runstatus(int argc, const char **argv, const char *prefix) +{ + struct wt_status s; + int i; + + git_config(git_status_config); + wt_status_prepare(&s); + + for (i = 1; i < argc; i++) { + if (!strcmp(argv[i], "--color")) + wt_status_use_color = 1; + else if (!strcmp(argv[i], "--nocolor")) + wt_status_use_color = 0; + else if (!strcmp(argv[i], "--amend")) { + s.amend = 1; + s.reference = "HEAD^1"; + } + else if (!strcmp(argv[i], "--verbose")) + s.verbose = 1; + else + usage(runstatus_usage); + } + + wt_status_print(&s); + return s.commitable ? 0 : 1; +} -- cgit v1.2.1