[PATCH 2/4] sequencer: add "--fast-forward" option to "git sequencer--helper"
From: Christian Couder <hidden>
Date: 2016-06-15 22:47:12
Subsystem:
the rest · Maintainer:
Linus Torvalds
This new option uses the "do_fast_forward()" function to perform a fast forward. Signed-off-by: Christian Couder <redacted> --- builtin-sequencer--helper.c | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/builtin-sequencer--helper.c b/builtin-sequencer--helper.c
index 0cd7e98..bd72f65 100644
--- a/builtin-sequencer--helper.c
+++ b/builtin-sequencer--helper.c@@ -19,6 +19,7 @@ static unsigned char head_sha1[20]; static const char * const git_sequencer_helper_usage[] = { "git sequencer--helper --make-patch <commit>", "git sequencer--helper --reset-hard <commit> <reflog-msg> <verbosity>", + "git sequencer--helper --fast-forward <commit> <reflog-msg> <verbosity>", NULL };
@@ -218,11 +219,14 @@ int cmd_sequencer__helper(int argc, const char **argv, const char *prefix) { char *patch_commit = NULL; char *reset_commit = NULL; + char *ff_commit = NULL; struct option options[] = { OPT_STRING(0, "make-patch", &patch_commit, "commit", "create a patch from commit"), OPT_STRING(0, "reset-hard", &reset_commit, "commit", "reset to commit"), + OPT_STRING(0, "fast-forward", &ff_commit, "commit", + "fast forward to commit"), OPT_END() };
@@ -239,15 +243,16 @@ int cmd_sequencer__helper(int argc, const char **argv, const char *prefix) return 0; } - if (reset_commit) { + if (ff_commit || reset_commit) { unsigned char sha1[20]; + char *commit = ff_commit ? ff_commit : reset_commit; if (argc != 2) usage_with_options(git_sequencer_helper_usage, options); - if (get_sha1(reset_commit, sha1)) { - error("Could not find '%s'", reset_commit); + if (get_sha1(commit, sha1)) { + error("Could not find '%s'", commit); return 1; }
@@ -258,7 +263,10 @@ int cmd_sequencer__helper(int argc, const char **argv, const char *prefix) return 1; } - return reset_almost_hard(sha1); + if (ff_commit) + return do_fast_forward(sha1); + else + return reset_almost_hard(sha1); } usage_with_options(git_sequencer_helper_usage, options);
--
1.6.4.209.g16b77