@@ -11,15 +11,30 @@ static const char * const builtin_rebase_helper_usage[] = {
11
11
int cmd_rebase__helper (int argc , const char * * argv , const char * prefix )
12
12
{
13
13
struct replay_opts opts = REPLAY_OPTS_INIT ;
14
+ int keep_empty = 0 ;
14
15
enum {
15
- CONTINUE = 1 , ABORT
16
+ CONTINUE = 1 , ABORT , MAKE_SCRIPT , SHORTEN_SHA1S , EXPAND_SHA1S ,
17
+ CHECK_TODO_LIST , SKIP_UNNECESSARY_PICKS , REARRANGE_SQUASH
16
18
} command = 0 ;
17
19
struct option options [] = {
18
20
OPT_BOOL (0 , "ff" , & opts .allow_ff , N_ ("allow fast-forward" )),
21
+ OPT_BOOL (0 , "keep-empty" , & keep_empty , N_ ("keep empty commits" )),
19
22
OPT_CMDMODE (0 , "continue" , & command , N_ ("continue rebase" ),
20
23
CONTINUE ),
21
24
OPT_CMDMODE (0 , "abort" , & command , N_ ("abort rebase" ),
22
25
ABORT ),
26
+ OPT_CMDMODE (0 , "make-script" , & command ,
27
+ N_ ("make rebase script" ), MAKE_SCRIPT ),
28
+ OPT_CMDMODE (0 , "shorten-sha1s" , & command ,
29
+ N_ ("shorten SHA-1s in the todo list" ), SHORTEN_SHA1S ),
30
+ OPT_CMDMODE (0 , "expand-sha1s" , & command ,
31
+ N_ ("expand SHA-1s in the todo list" ), EXPAND_SHA1S ),
32
+ OPT_CMDMODE (0 , "check-todo-list" , & command ,
33
+ N_ ("check the todo list" ), CHECK_TODO_LIST ),
34
+ OPT_CMDMODE (0 , "skip-unnecessary-picks" , & command ,
35
+ N_ ("skip unnecessary picks" ), SKIP_UNNECESSARY_PICKS ),
36
+ OPT_CMDMODE (0 , "rearrange-squash" , & command ,
37
+ N_ ("rearrange fixup/squash lines" ), REARRANGE_SQUASH ),
23
38
OPT_END ()
24
39
};
25
40
@@ -36,5 +51,17 @@ int cmd_rebase__helper(int argc, const char **argv, const char *prefix)
36
51
return !!sequencer_continue (& opts );
37
52
if (command == ABORT && argc == 1 )
38
53
return !!sequencer_remove_state (& opts );
54
+ if (command == MAKE_SCRIPT && argc > 1 )
55
+ return !!sequencer_make_script (keep_empty , stdout , argc , argv );
56
+ if (command == SHORTEN_SHA1S && argc == 1 )
57
+ return !!transform_todo_ids (1 );
58
+ if (command == EXPAND_SHA1S && argc == 1 )
59
+ return !!transform_todo_ids (0 );
60
+ if (command == CHECK_TODO_LIST && argc == 1 )
61
+ return !!check_todo_list ();
62
+ if (command == SKIP_UNNECESSARY_PICKS && argc == 1 )
63
+ return !!skip_unnecessary_picks ();
64
+ if (command == REARRANGE_SQUASH && argc == 1 )
65
+ return !!rearrange_squash ();
39
66
usage_with_options (builtin_rebase_helper_usage , options );
40
67
}
0 commit comments