git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v4 01/15] sequencer: add "builtin-sequencer--helper.c"

From
Christian Couder <chriscool@tuxfamily.org>
Date
Aug 28, 2009, 04:47 UTC
Message-ID
<20090828044746.4307.60033.chriscool@tuxfamily.org>
In-Reply-To
<20090828043913.4307.34708.chriscool@tuxfamily.org>

This a helper builtin that will be used to port some parts of "git-rebase--interactive.sh" to C.

It currently does nothing except checking arguments it is passed.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 .gitignore                  |    1 +
 Makefile                    |    1 +
 builtin-sequencer--helper.c |   27 +++++++++++++++++++++++++++
 builtin.h                   |    1 +
 git.c                       |    1 +
 5 files changed, 31 insertions(+), 0 deletions(-)
 create mode 100644 builtin-sequencer--helper.c
diff --git a/.gitignore b/.gitignore
index c446290..adbe7cc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -119,6 +119,7 @@ git-revert
 git-rm
 git-send-email
 git-send-pack
+git-sequencer--helper
 git-sh-setup
 git-shell
 git-shortlog
diff --git a/Makefile b/Makefile
index 4190a5d..4aab6bc 100644
--- a/Makefile
+++ b/Makefile
@@ -628,6 +628,7 @@ BUILTIN_OBJS += builtin-rev-parse.o
 BUILTIN_OBJS += builtin-revert.o
 BUILTIN_OBJS += builtin-rm.o
 BUILTIN_OBJS += builtin-send-pack.o
+BUILTIN_OBJS += builtin-sequencer--helper.o
 BUILTIN_OBJS += builtin-shortlog.o
 BUILTIN_OBJS += builtin-show-branch.o
 BUILTIN_OBJS += builtin-show-ref.o
diff --git a/builtin-sequencer--helper.c b/builtin-sequencer--helper.c
new file mode 100644
index 0000000..721c0d8
--- /dev/null
+++ b/builtin-sequencer--helper.c
@@ -0,0 +1,27 @@
+#include "builtin.h"
+#include "cache.h"
+#include "parse-options.h"
+
+static const char * const git_sequencer_helper_usage[] = {
+	"git sequencer--helper --make-patch <commit>",
+	NULL
+};
+
+int cmd_sequencer__helper(int argc, const char **argv, const char *prefix)
+{
+	char *commit = NULL;
+	struct option options[] = {
+		OPT_STRING(0, "make-patch", &commit, "commit",
+			   "create a patch from commit"),
+		OPT_END()
+	};
+
+	argc = parse_options(argc, argv, prefix, options,
+			     git_sequencer_helper_usage, 0);
+
+	if (!commit)
+		usage_with_options(git_sequencer_helper_usage, options);
+
+	/* Nothing to do yet */
+	return 0;
+}
diff --git a/builtin.h b/builtin.h
index 51e4ba7..0a60e81 100644
--- a/builtin.h
+++ b/builtin.h
@@ -91,6 +91,7 @@ extern int cmd_rev_parse(int argc, const char **argv, const char *prefix);
 extern int cmd_revert(int argc, const char **argv, const char *prefix);
 extern int cmd_rm(int argc, const char **argv, const char *prefix);
 extern int cmd_send_pack(int argc, const char **argv, const char *prefix);
+extern int cmd_sequencer__helper(int argc, const char **argv, const char *prefix);
 extern int cmd_shortlog(int argc, const char **argv, const char *prefix);
 extern int cmd_show(int argc, const char **argv, const char *prefix);
 extern int cmd_show_branch(int argc, const char **argv, const char *prefix);
diff --git a/git.c b/git.c
index 0021a29..d510758 100644
--- a/git.c
+++ b/git.c
@@ -345,6 +345,7 @@ static void handle_internal_command(int argc, const char **argv)
 		{ "revert", cmd_revert, RUN_SETUP | NEED_WORK_TREE },
 		{ "rm", cmd_rm, RUN_SETUP },
 		{ "send-pack", cmd_send_pack, RUN_SETUP },
+		{ "sequencer--helper", cmd_sequencer__helper, RUN_SETUP | NEED_WORK_TREE },
 		{ "shortlog", cmd_shortlog, USE_PAGER },
 		{ "show-branch", cmd_show_branch, RUN_SETUP },
 		{ "show", cmd_show, RUN_SETUP | USE_PAGER },
-- 
1.6.4.271.ge010d
Previous: Christian CouderNext: Christian Couder
Message 2 of 17 in “complete reroll of my "port rebase -i to C" series”
  1. 00/15 complete reroll of my "port rebase -i to C" seriesChristian Couder, Aug 28, 2009
  2. 01/15 sequencer: add "builtin-sequencer--helper.c"Christian Couder, Aug 28, 2009
  3. 02/15 sequencer: add "make_patch" function to save a patchChristian Couder, Aug 28, 2009
  4. 03/15 rebase -i: use "git sequencer--helper --make-patch"Christian Couder, Aug 28, 2009
  5. 04/15 sequencer: add "reset_almost_hard()" and related functionsChristian Couder, Aug 28, 2009
  6. Eric RaibleAug 28, 2009
  7. 05/15 sequencer: add "--reset-hard" option to "git sequencer--helper"Christian Couder, Aug 28, 2009
  8. 06/15 rebase -i: use "git sequencer--helper --reset-hard"Christian Couder, Aug 28, 2009
  9. 07/15 sequencer: add "do_fast_forward()" to perform a fast forwardChristian Couder, Aug 28, 2009
  10. 08/15 sequencer: add "--fast-forward" option to "git sequencer--helper"Christian Couder, Aug 28, 2009
  11. 09/15 sequencer: let "git sequencer--helper" callers set "allow_dirty"Christian Couder, Aug 28, 2009
  12. 10/15 rebase -i: use "git sequencer--helper --fast-forward"Christian Couder, Aug 28, 2009
  13. 11/15 revert: libify cherry-pick and revert functionnalityChristian Couder, Aug 28, 2009
  14. 12/15 pick: libify "pick_help_msg()"Christian Couder, Aug 28, 2009
  15. 13/15 sequencer: add "do_commit()" and related functions working on "next_commit"Christian Couder, Aug 28, 2009
  16. 14/15 sequencer: add "--cherry-pick" option to "git sequencer--helper"Christian Couder, Aug 28, 2009
  17. 15/15 rebase -i: use "git sequencer--helper --cherry-pick"Christian Couder, Aug 28, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.