From: Junio C Hamano Date: Thu, 11 Oct 2018 05:18:19 +0000 (+0900) Subject: Merge branch 'ag/rebase-i-in-c' into js/rebase-in-c-5.5-work-with-rebase-i-in-c X-Git-Tag: v2.20.0-rc0~89^2~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5ab7e0fb67007bd4829b85a8b450bd952e97fe00;p=git Merge branch 'ag/rebase-i-in-c' into js/rebase-in-c-5.5-work-with-rebase-i-in-c * ag/rebase-i-in-c: rebase -i: move rebase--helper modes to rebase--interactive rebase -i: remove git-rebase--interactive.sh rebase--interactive2: rewrite the submodes of interactive rebase in C rebase -i: implement the main part of interactive rebase as a builtin rebase -i: rewrite init_basic_state() in C rebase -i: rewrite write_basic_state() in C rebase -i: rewrite the rest of init_revisions_and_shortrevisions() in C rebase -i: implement the logic to initialize $revisions in C rebase -i: remove unused modes and functions rebase -i: rewrite complete_action() in C t3404: todo list with commented-out commands only aborts sequencer: change the way skip_unnecessary_picks() returns its result sequencer: refactor append_todo_help() to write its message to a buffer rebase -i: rewrite checkout_onto() in C rebase -i: rewrite setup_reflog_action() in C sequencer: add a new function to silence a command, except if it fails rebase -i: rewrite the edit-todo functionality in C editor: add a function to launch the sequence editor rebase -i: rewrite append_todo_help() in C sequencer: make three functions and an enum from sequencer.c public --- 5ab7e0fb67007bd4829b85a8b450bd952e97fe00 diff --cc .gitignore index 824141cba1,406f26d050..b94053f46b --- a/.gitignore +++ b/.gitignore @@@ -117,8 -116,6 +117,7 @@@ /git-read-tree /git-rebase /git-rebase--am +/git-rebase--common - /git-rebase--helper /git-rebase--interactive /git-rebase--merge /git-rebase--preserve-merges diff --cc Makefile index c210681a1d,ca3a0888dd..7414f79b42 --- a/Makefile +++ b/Makefile @@@ -619,8 -619,6 +619,7 @@@ SCRIPT_SH += git-web--browse.s SCRIPT_LIB += git-mergetool--lib SCRIPT_LIB += git-parse-remote SCRIPT_LIB += git-rebase--am +SCRIPT_LIB += git-rebase--common - SCRIPT_LIB += git-rebase--interactive SCRIPT_LIB += git-rebase--preserve-merges SCRIPT_LIB += git-rebase--merge SCRIPT_LIB += git-sh-setup @@@ -1064,8 -1059,7 +1064,8 @@@ BUILTIN_OBJS += builtin/prune. BUILTIN_OBJS += builtin/pull.o BUILTIN_OBJS += builtin/push.o BUILTIN_OBJS += builtin/read-tree.o +BUILTIN_OBJS += builtin/rebase.o - BUILTIN_OBJS += builtin/rebase--helper.o + BUILTIN_OBJS += builtin/rebase--interactive.o BUILTIN_OBJS += builtin/receive-pack.o BUILTIN_OBJS += builtin/reflog.o BUILTIN_OBJS += builtin/remote.o diff --cc builtin.h index 44651a447f,7feb689d87..fbc76d3060 --- a/builtin.h +++ b/builtin.h @@@ -202,8 -202,7 +202,8 @@@ extern int cmd_prune_packed(int argc, c extern int cmd_pull(int argc, const char **argv, const char *prefix); extern int cmd_push(int argc, const char **argv, const char *prefix); extern int cmd_read_tree(int argc, const char **argv, const char *prefix); +extern int cmd_rebase(int argc, const char **argv, const char *prefix); - extern int cmd_rebase__helper(int argc, const char **argv, const char *prefix); + extern int cmd_rebase__interactive(int argc, const char **argv, const char *prefix); extern int cmd_receive_pack(int argc, const char **argv, const char *prefix); extern int cmd_reflog(int argc, const char **argv, const char *prefix); extern int cmd_remote(int argc, const char **argv, const char *prefix); diff --cc git.c index 2c6b188c77,81aabd1423..5cd2e708d7 --- a/git.c +++ b/git.c @@@ -521,13 -518,7 +521,13 @@@ static struct cmd_struct commands[] = { "pull", cmd_pull, RUN_SETUP | NEED_WORK_TREE }, { "push", cmd_push, RUN_SETUP }, { "read-tree", cmd_read_tree, RUN_SETUP | SUPPORT_SUPER_PREFIX}, + /* + * NEEDSWORK: Until the rebase is independent and needs no redirection + * to rebase shell script this is kept as is, then should be changed to + * RUN_SETUP | NEED_WORK_TREE + */ + { "rebase", cmd_rebase }, - { "rebase--helper", cmd_rebase__helper, RUN_SETUP | NEED_WORK_TREE }, + { "rebase--interactive", cmd_rebase__interactive, RUN_SETUP | NEED_WORK_TREE }, { "receive-pack", cmd_receive_pack }, { "reflog", cmd_reflog, RUN_SETUP }, { "remote", cmd_remote, RUN_SETUP },