Thread (21 messages) 21 messages, 3 authors, 2016-06-15

Re: [PATCH try2 01/14] Add proper 'stage' command

flat view

From: Eric Sunshine <hidden>
Date: 2016-06-15 22:59:00

On Sat, Oct 12, 2013 at 3:04 AM, Felipe Contreras
[off-list ref] wrote:
quoted hunk ↗ jump to hunk
 SYNOPSIS
 --------
 [verse]
-'git stage' args...
-
+'git stage' [options] [--] [<paths>...]
+'git stage add' [options] [--] [<paths>...]
+'git stage reset' [-q|--patch] [--] [<paths>...]
+'git stage diff' [options] [<commit>] [--] [<paths>...]
+'git stage rm' [options] [--] [<paths>...]
+'git stage apply' [options] [--] [<paths>...]
diff --git a/builtin/stage.c b/builtin/stage.c
new file mode 100644
index 0000000..3023d17
--- /dev/null
+++ b/builtin/stage.c
@@ -0,0 +1,52 @@
+/*
+ * 'git stage' builtin command
+ *
+ * Copyright (C) 2013 Felipe Contreras
+ */
+
+#include "builtin.h"
+#include "parse-options.h"
+
+static const char *const stage_usage[] = {
+       N_("git stage [options] [--] <paths>..."),
+       N_("git stage add [options] [--] <paths>..."),
+       N_("git stage reset [-q|--patch] [--] <paths>..."),
+       N_("git stage diff [options] [<commit]> [--] <paths>..."),
+       N_("git stage rm [options] [--] <paths>..."),
+       NULL
+};
Missing usage for "git stage apply".
quoted hunk ↗ jump to hunk
+
+int cmd_stage(int argc, const char **argv, const char *prefix)
+{
+       struct option options[] = { OPT_END() };
+
+       argc = parse_options(argc, argv, prefix, options, stage_usage,
+                       PARSE_OPT_KEEP_ARGV0 | PARSE_OPT_KEEP_UNKNOWN | PARSE_OPT_KEEP_DASHDASH);
+
+       if (argc > 1) {
+               if (!strcmp(argv[1], "add"))
+                       return cmd_add(argc - 1, argv + 1, prefix);
+               if (!strcmp(argv[1], "reset"))
+                       return cmd_reset(argc - 1, argv + 1, prefix);
+               if (!strcmp(argv[1], "diff")) {
+                       argv[0] = "diff";
+                       argv[1] = "--staged";
+
+                       return cmd_diff(argc, argv, prefix);
+               }
+               if (!strcmp(argv[1], "rm")) {
+                       argv[0] = "rm";
+                       argv[1] = "--cached";
+
+                       return cmd_rm(argc, argv, prefix);
+               }
+               if (!strcmp(argv[1], "apply")) {
+                       argv[0] = "apply";
+                       argv[1] = "--cached";
+
+                       return cmd_apply(argc, argv, prefix);
+               }
+       }
+
+       return cmd_add(argc, argv, prefix);
+}
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help