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

[PATCH 1/4] sequencer: add "builtin-sequencer--helper.c"

From
Christian Couder <chriscool@tuxfamily.org>
Date
Jun 26, 2009, 21:08 UTC
Message-ID
<20090626210847.3885.55343.chriscool@tuxfamily.org>
In-Reply-To
<20090626205319.3885.91532.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>
---
 .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 04926fc..98711c3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -117,6 +117,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 4e8f45d..10bb7f5 100644
--- a/Makefile
+++ b/Makefile
@@ -632,6 +632,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 38ceddc..d181669 100644
--- a/builtin.h
+++ b/builtin.h
@@ -92,6 +92,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 479279b..3e4b4ad 100644
--- a/git.c
+++ b/git.c
@@ -349,6 +349,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.3.GIT
Previous: Christian CouderNext: Christian Couder
Message 2 of 6 in “start using sequencer code to port "rebase -i"”
  1. 0/4 start using sequencer code to port "rebase -i"Christian Couder, Jun 26, 2009
  2. 1/4 sequencer: add "builtin-sequencer--helper.c"Christian Couder, Jun 26, 2009
  3. 2/4 sequencer: add "make_patch" function to save a patchChristian Couder, Jun 26, 2009
  4. Christian CouderJun 28, 2009
  5. 3/4 sequencer: free memory used in "make_patch" functionChristian Couder, Jun 26, 2009
  6. 4/4 rebase -i: use "git sequencer--helper --make-patch"Christian Couder, Jun 26, 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.