(List (FunctionDef set_fake_editor [] (List (Com {[LIT_CHARS write_script]} {[LIT_CHARS fake-editor.sh]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "case \"$1\" in\n"] [LIT_CHARS "*/COMMIT_EDITMSG)\n"] [LIT_CHARS "test -z \"$EXPECT_HEADER_COUNT\" ||\n"] [LIT_CHARS "test \"$EXPECT_HEADER_COUNT\" = \"$(sed -n '1s/^# This is a combination of \\(.*\\) commits\\./\\1/p' < \"$1\")\" ||\n"] [LIT_CHARS "test \"# # GETTEXT POISON #\" = \"$(sed -n '1p' < \"$1\")\" ||\n"] [LIT_CHARS "exit\n"] [LIT_CHARS "test -z \"$FAKE_COMMIT_MESSAGE\" || echo \"$FAKE_COMMIT_MESSAGE\" > \"$1\"\n"] [LIT_CHARS "test -z \"$FAKE_COMMIT_AMEND\" || echo \"$FAKE_COMMIT_AMEND\" >> \"$1\"\n"] [LIT_CHARS "exit\n"] [LIT_CHARS ";;\n"] [LIT_CHARS "esac\n"] [LIT_CHARS "test -z \"$EXPECT_COUNT\" ||\n"] [LIT_CHARS "test \"$EXPECT_COUNT\" = $(sed -e '/^#/d' -e '/^$/d' < \"$1\" | wc -l) ||\n"] [LIT_CHARS "exit\n"] [LIT_CHARS "test -z \"$FAKE_LINES\" && exit\n"] [LIT_CHARS "grep -v '^#' < \"$1\" > \"$1\".tmp\n"] [LIT_CHARS "rm -f \"$1\"\n"] [LIT_CHARS "echo 'rebase -i script before editing:'\n"] [LIT_CHARS "cat \"$1\".tmp\n"] [LIT_CHARS "action=pick\n"] [LIT_CHARS "for line in $FAKE_LINES; do\n"] [LIT_CHARS "case $line in\n"] [LIT_CHARS "squash|fixup|edit|reword|drop)\n"] [LIT_CHARS "action=\"$line\";;\n"] [LIT_CHARS "exec*)\n"] [LIT_CHARS "echo \"$line\" | sed 's/_/ /g' >> \"$1\";;\n"] [LIT_CHARS "\"#\")\n"] [LIT_CHARS "echo '# comment' >> \"$1\";;\n"] [LIT_CHARS "\">\")\n"] [LIT_CHARS "echo >> \"$1\";;\n"] [LIT_CHARS "bad)\n"] [LIT_CHARS "action=\"badcmd\";;\n"] [LIT_CHARS "fakesha)\n"] [LIT_CHARS "echo \"$action XXXXXXX False commit\" >> \"$1\"\n"] [LIT_CHARS "action=pick;;\n"] [LIT_CHARS "*)\n"] [LIT_CHARS "sed -n \"${line}s/^pick/$action/p\" < \"$1\".tmp >> \"$1\"\n"] [LIT_CHARS "action=pick;;\n"] [LIT_CHARS "esac\n"] [LIT_CHARS "done\n"] [LIT_CHARS "echo 'rebase -i script after editing:'\n"] [LIT_CHARS "cat \"$1\"\n"]} 0), > ) (Com {[LIT_CHARS test_set_editor]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /fake-editor.sh]]}) ) ) (FunctionDef set_cat_todo_editor [] (List (Com {[LIT_CHARS write_script]} {[LIT_CHARS fake-editor.sh]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "grep \"^[^#]\" \"$1\"\n"] [LIT_CHARS "exit 1\n"]} 0), > ) (Com {[LIT_CHARS test_set_editor]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /fake-editor.sh]]}) ) ) (FunctionDef test_linear_range [] (List (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('revlist_merges', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-list]} {[LIT_CHARS --merges]} {[DQ [VarSub 2]]})]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub revlist_merges]]}) (= scope= flags=0 words=[] bindings=[('expected', {[VarSub 1]})]) ) ) (Com {[LIT_CHARS set]} {[LIT_CHARS --]} {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS log]} {[LIT_CHARS --reverse]} {[LIT_CHARS --format] [LIT_OTHER "="] [LIT_OTHER "%"] [LIT_CHARS s]} {[DQ [VarSub 2]]})]}) (Com {[LIT_CHARS test]} {[DQ [VarSub expected]]} {[LIT_OTHER "="]} {[DQ [VarSub *]]}) ) ) (FunctionDef reset_rebase [] (AndOr OP_AND_IF (Com {[LIT_CHARS test_might_fail]} {[LIT_CHARS git]} {[LIT_CHARS rebase]} {[LIT_CHARS --abort]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS reset]} {[LIT_CHARS --hard]}) (Com {[LIT_CHARS git]} {[LIT_CHARS clean]} {[LIT_CHARS -f]}) ) ) ) (FunctionDef cherry_pick [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS cherry-pick]} {[LIT_CHARS -n]} {[DQ [VarSub 2]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS -m]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS tag]} {[DQ [VarSub 1]]}) ) ) ) (FunctionDef revert [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS revert]} {[LIT_CHARS -n]} {[DQ [VarSub 2]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS -m]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS tag]} {[DQ [VarSub 1]]}) ) ) ) (FunctionDef make_empty [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS --allow-empty]} {[LIT_CHARS -m]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS tag]} {[DQ [VarSub 1]]}) ) ) )