This new option uses the "do_fast_forward()" function to perform a fast forward. Signed-off-by: Christian Couder <chriscool@xxxxxxxxxxxxx> Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- 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.271.ge010d -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html