]> granicus.if.org Git - git/commitdiff
Merge branch 'ag/rebase-i-in-c' into js/rebase-in-c-5.5-work-with-rebase-i-in-c
authorJunio C Hamano <gitster@pobox.com>
Thu, 11 Oct 2018 05:18:19 +0000 (14:18 +0900)
committerJunio C Hamano <gitster@pobox.com>
Thu, 11 Oct 2018 05:18:19 +0000 (14:18 +0900)
* 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

1  2 
.gitignore
Makefile
builtin.h
cache.h
git-legacy-rebase.sh
git-rebase--preserve-merges.sh
git.c
sequencer.c
strbuf.h
t/t3404-rebase-interactive.sh

diff --cc .gitignore
index 824141cba1188ba28f0d753701ecaddd85d5ed7f,406f26d0507961c9e39da636bb87ff62fae6a90b..b94053f46bb51c700879e12d41117c1983c9d908
  /git-read-tree
  /git-rebase
  /git-rebase--am
- /git-rebase--helper
 +/git-rebase--common
  /git-rebase--interactive
  /git-rebase--merge
  /git-rebase--preserve-merges
diff --cc Makefile
index c210681a1dbc4320e59f5b4b1e57aedabaa3f35d,ca3a0888ddfdb48e85ed5d785d34d9194ff3c8a1..7414f79b42759a5b392aa9abee22c081a03ed83e
+++ 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--interactive
 +SCRIPT_LIB += git-rebase--common
  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--helper.o
 +BUILTIN_OBJS += builtin/rebase.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 44651a447f5d52d9d36654d92a27a65f08d284b8,7feb689d87c765fdb59f1b8c0e368bcd5819712f..fbc76d30601831b4778a0224f5e4e7c81ed1f5f6
+++ 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__helper(int argc, const char **argv, const char *prefix);
 +extern int cmd_rebase(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 cache.h
Simple merge
Simple merge
Simple merge
diff --cc git.c
index 2c6b188c77db82a2f02ce44f0641573cd00f0a61,81aabd1423a99dad6ad17ffaedb6447de04fd51c..5cd2e708d7d79f57224a59c6af91d2e3b23a1497
--- 1/git.c
--- 2/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},
-       { "rebase--helper", cmd_rebase__helper, RUN_SETUP | NEED_WORK_TREE },
 +      /*
 +       * 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--interactive", cmd_rebase__interactive, RUN_SETUP | NEED_WORK_TREE },
        { "receive-pack", cmd_receive_pack },
        { "reflog", cmd_reflog, RUN_SETUP },
        { "remote", cmd_remote, RUN_SETUP },
diff --cc sequencer.c
Simple merge
diff --cc strbuf.h
Simple merge
Simple merge