(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >.git/config &&\n"> usage 2>&1\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >.git/config &&\n"> usage 2>&1\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ tracked &&\n"> modified &&\n"> dir1/tracked &&\n"> dir1/modified &&\n"> dir1/tracked &&\n"> dir1/modified &&\n"> output &&\n"> untracked &&\n"> dir1/untracked &&\n"> dir2/untracked &&\n"> dir1/modified &&\n"> dir2/modified &&\n"> dir2/added &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ \\.\\.\\.\\\" to unstage\" output\n">]}) (FunctionDef strip_comments [] (List (= scope= flags=0 words=[] bindings=[('tab', {[SQ ]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS sed]} {[DQ [LIT_CHARS "s/^"][\ LIT_ESCAPED_CHAR "\\#"][LIT_CHARS " //; s/^"][\ LIT_ESCAPED_CHAR "\\#"][LIT_OTHER "$"][LIT_CHARS "//; s/^#"][VarSub tab][LIT_CHARS /][VarSub tab][LIT_CHARS /]]} < (FilenameRedirectNode filename={[DQ [VarSub 1]]} 0), (FilenameRedirectNode filename={[DQ [VarSub 1]] [LIT_CHARS .tmp]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS rm]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS mv]} {[DQ [VarSub 1]] [LIT_CHARS .tmp]} {[DQ [VarSub 1]]}) ) ) ) ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS .gitignore]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS ".gitignore\n"] [LIT_CHARS "expect*\n"] [LIT_CHARS "output*\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect <<\\EOF &&\n"> ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "# On branch master\n"] [LIT_CHARS "# Changes to be committed:\n"] [LIT_CHARS "# (use \"git reset HEAD ...\" to unstage)\n"] [LIT_CHARS "#\n"] [LIT_CHARS "#\tnew file: dir2/added\n"] [LIT_CHARS "#\n"] [LIT_CHARS "# Changes not staged for commit:\n"] [LIT_CHARS "# (use \"git add ...\" to update what will be committed)\n"] [LIT_CHARS "# (use \"git checkout -- ...\" to discard changes in working directory)\n"] [LIT_CHARS "#\n"] [LIT_CHARS "#\tmodified: dir1/modified\n"] [LIT_CHARS "#\n"] [LIT_CHARS "# Untracked files:\n"] [LIT_CHARS "# (use \"git add ...\" to include in what will be committed)\n"] [LIT_CHARS "#\n"] [LIT_CHARS "#\tdir1/untracked\n"] [LIT_CHARS "#\tdir2/modified\n"] [LIT_CHARS "#\tdir2/untracked\n"] [LIT_CHARS "#\tuntracked\n"] [LIT_CHARS "#\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect-with-v &&\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect-with-v &&\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ .git/editor <<-\\EOF &&\n"> ]}) (FunctionDef commit_template_commented [] (AndOr OP_AND_IF (Subshell (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('EDITOR', {[LIT_CHARS .git/editor]})]) (AndOr OP_AND_IF (= scope= flags=1 words=[{[LIT_CHARS EDITOR]}] bindings=[]) (Com {[LIT_CHARS test_must_fail]} {[LIT_CHARS git]} {[LIT_CHARS commit]}) ) ) ) (Pipeline! (Com {[LIT_CHARS grep]} {[SQ ]} {[LIT_CHARS output]}) ) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "On branch master\n"] [LIT_CHARS "Changes to be committed:\n"] [LIT_CHARS "\tnew file: dir2/added\n"] [LIT_CHARS "\n"] [LIT_CHARS "Changes not staged for commit:\n"] [LIT_CHARS "\tmodified: dir1/modified\n"] [LIT_CHARS "\n"] [LIT_CHARS "Untracked files:\n"] [LIT_CHARS "\tdir1/untracked\n"] [LIT_CHARS "\tdir2/modified\n"] [LIT_CHARS "\tdir2/untracked\n"] [LIT_CHARS "\tuntracked\n"] [LIT_CHARS "\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS " M dir1/modified\n"] [LIT_CHARS "A dir2/added\n"] [LIT_CHARS "?? dir1/untracked\n"] [LIT_CHARS "?? dir2/modified\n"] [LIT_CHARS "?? dir2/untracked\n"] [LIT_CHARS "?? untracked\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ .gitignore &&\n"> expect <<-\\EOF &&\n"> output &&\n"> expect <<-\\EOF &&\n"> output &&\n"> expect <<\\EOF &&\n"> ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> ...\" to include in what will be committed)\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ .gitignore &&\n"> expect <<-\\EOF &&\n"> output &&\n"> expect <<-\\EOF &&\n"> output &&\n"> expect <<\\EOF &&\n"> ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS .gitignore]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS ".gitignore\n"] [LIT_CHARS "expect*\n"] [LIT_CHARS "output*\n"]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "## master\n"] [LIT_CHARS " M dir1/modified\n"] [LIT_CHARS "A dir2/added\n"] [LIT_CHARS "?? dir1/untracked\n"] [LIT_CHARS "?? dir2/modified\n"] [LIT_CHARS "?? dir2/untracked\n"] [LIT_CHARS "?? untracked\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect.q &&\n"> output &&\n"> output.q &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ dir3/untracked1 &&\n"> dir3/untracked2\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect < ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect < output &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " M dir1/modified\n"][LIT_CHARS "A dir2/added\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect < ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " M dir1/modified\n"][LIT_CHARS "A dir2/added\n"][LIT_CHARS "?? dir1/untracked\n"][LIT_CHARS "?? dir2/modified\n"][LIT_CHARS "?? dir2/untracked\n"][LIT_CHARS "?? dir3/\n"][LIT_CHARS "?? untracked\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect < ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " M dir1/modified\n"][LIT_CHARS "A dir2/added\n"][LIT_CHARS "?? dir1/untracked\n"][LIT_CHARS "?? dir2/modified\n"][LIT_CHARS "?? dir2/untracked\n"][LIT_CHARS "?? untracked\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect <<\\EOF &&\n"> ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS " M modified\n"] [LIT_CHARS "A ../dir2/added\n"] [LIT_CHARS "?? untracked\n"] [LIT_CHARS "?? ../dir2/modified\n"] [LIT_CHARS "?? ../dir2/untracked\n"] [LIT_CHARS "?? ../untracked\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS " M dir1/modified\n"] [LIT_CHARS "A dir2/added\n"] [LIT_CHARS "?? dir1/untracked\n"] [LIT_CHARS "?? dir2/modified\n"] [LIT_CHARS "?? dir2/untracked\n"] [LIT_CHARS "?? untracked\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect <<\\EOF &&\n"> master\n"> ...\" to unstage)\n"> new file: dir2/added\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> modified: dir1/modified\n"> ...\" to include in what will be committed)\n"> dir1/untracked\n"> dir2/modified\n"> dir2/untracked\n"> untracked\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS " M dir1/modified\n"] [LIT_CHARS "A dir2/added\n"] [LIT_CHARS "?? dir1/untracked\n"] [LIT_CHARS "?? dir2/modified\n"] [LIT_CHARS "?? dir2/untracked\n"] [LIT_CHARS "?? untracked\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "## master\n"] [LIT_CHARS " M dir1/modified\n"] [LIT_CHARS "A dir2/added\n"] [LIT_CHARS "?? dir1/untracked\n"] [LIT_CHARS "?? dir2/modified\n"] [LIT_CHARS "?? dir2/untracked\n"] [LIT_CHARS "?? untracked\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS " M dir1/modified\n"] [LIT_CHARS "A dir2/added\n"] [LIT_CHARS "?? dir1/untracked\n"] [LIT_CHARS "?? dir2/modified\n"] [LIT_CHARS "?? dir2/untracked\n"] [LIT_CHARS "?? untracked\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --unset]} {[LIT_CHARS color.status]}) (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --unset]} {[LIT_CHARS color.ui]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> tmp &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect <<\\EOF &&\n"> ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS " M dir1/modified\n"] [LIT_CHARS "A dir2/added\n"] [LIT_CHARS "?? dir1/untracked\n"] [LIT_CHARS "?? dir2/modified\n"] [LIT_CHARS "?? dir2/untracked\n"] [LIT_CHARS "?? untracked\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect < ...\" to unstage)\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS ":100644 100644 "][VarSub EMPTY_BLOB][LIT_CHARS " 0000000000000000000000000000000000000000 M\tdir1/modified\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ foo &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect < ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " M dir1/modified\n"][LIT_CHARS "A dir2/added\n"][LIT_CHARS "A sm\n"][LIT_CHARS "?? dir1/untracked\n"][LIT_CHARS "?? dir2/modified\n"][LIT_CHARS "?? dir2/untracked\n"][LIT_CHARS "?? untracked\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (= scope= flags=0 words=[] bindings=[('head', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS sm]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --short] [LIT_OTHER "="] [LIT_CHARS 7]} {[LIT_CHARS --verify]} {[LIT_CHARS HEAD]}) )]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect < ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> Add foo\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " M dir1/modified\n"][LIT_CHARS "A dir2/added\n"][LIT_CHARS "A sm\n"][LIT_CHARS "?? dir1/untracked\n"][LIT_CHARS "?? dir2/modified\n"][LIT_CHARS "?? dir2/untracked\n"][LIT_CHARS "?? untracked\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect < ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> ...\" to include in what will be committed)\n"> output &&\n"> output &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " M dir1/modified\n"][LIT_CHARS "?? dir1/untracked\n"][LIT_CHARS "?? dir2/modified\n"][LIT_CHARS "?? dir2/untracked\n"][LIT_CHARS "?? untracked\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect < ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> Add foo\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS POSIXPERM] [LIT_COMMA ","] [LIT_CHARS SANITY]} {[SQ ]} {[SQ dir1/tracked1 && mv -f dir1/tracked1 dir1/tracked &&\n"> output &&\n"> ]}) (AndOr OP_AND_IF (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS sm]}) (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} < (FilenameRedirectNode filename={[LIT_CHARS bar]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS add]} {[LIT_CHARS bar]}) (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS -q]} {[LIT_CHARS -m]} {[SQ ]}) ) ) ) ) (Com {[LIT_CHARS git]} {[LIT_CHARS add]} {[LIT_CHARS sm]}) ) (= scope= flags=0 words=[] bindings=[('new_head', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS sm]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --short] [LIT_OTHER "="] [LIT_CHARS 7]} {[LIT_CHARS --verify]} {[LIT_CHARS HEAD]}) )]})]) (Com {[LIT_CHARS touch]} {[LIT_CHARS .gitmodules]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect << EOF &&\n"> ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> Add bar\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ sm/foo &&\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "--ignore-submodules=untracked doesn't suppress submodules with modified content"]]} {[SQ expect << EOF &&\n"> ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> Add bar\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS ".gitmodules ignore=untracked doesn't suppress submodules with modified content"]]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS ".git/config ignore=untracked doesn't suppress submodules with modified content"]]} {[SQ output &&\n"> ]}) (= scope= flags=0 words=[] bindings=[('head2', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS sm]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS -q]} {[LIT_CHARS -m]} {[DQ [LIT_CHARS "2nd commit"]]} {[LIT_CHARS foo]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --short] [LIT_OTHER "="] [LIT_CHARS 7]} {[LIT_CHARS --verify]} {[LIT_CHARS HEAD]}) ) )]})]) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "--ignore-submodules=untracked doesn't suppress submodule summary"]]} {[SQ expect << EOF &&\n"> ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> Add bar\n"> 2nd commit\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS ".gitmodules ignore=untracked doesn't suppress submodule summary"]]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS ".git/config ignore=untracked doesn't suppress submodule summary"]]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "--ignore-submodules=dirty doesn't suppress submodule summary"]]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS ".gitmodules ignore=dirty doesn't suppress submodule summary"]]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS ".git/config ignore=dirty doesn't suppress submodule summary"]]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "; On branch master\n"][LIT_CHARS "; Changes to be committed:\n"][LIT_CHARS "; (use "][RIGHT_D_QUOTE "\""][LIT_CHARS "git reset HEAD ..."][RIGHT_D_QUOTE "\""][LIT_CHARS " to unstage)\n"][LIT_CHARS ";\n"][LIT_CHARS ";\tmodified: sm\n"][LIT_CHARS ";\n"][LIT_CHARS "; Changes not staged for commit:\n"][LIT_CHARS "; (use "][RIGHT_D_QUOTE "\""][LIT_CHARS "git add ..."][RIGHT_D_QUOTE "\""][LIT_CHARS " to update what will be committed)\n"][LIT_CHARS "; (use "][RIGHT_D_QUOTE "\""][LIT_CHARS "git checkout -- ..."][RIGHT_D_QUOTE "\""][LIT_CHARS " to discard changes in working directory)\n"][LIT_CHARS ";\n"][LIT_CHARS ";\tmodified: dir1/modified\n"][LIT_CHARS ";\tmodified: sm (new commits)\n"][LIT_CHARS ";\n"][LIT_CHARS "; Submodule changes to be committed:\n"][LIT_CHARS ";\n"][LIT_CHARS "; * sm "][VarSub head][LIT_CHARS ...][VarSub new_head][LIT_CHARS " (1):\n"][LIT_CHARS "; > Add bar\n"][LIT_CHARS ";\n"][LIT_CHARS "; Submodules changed but not updated:\n"][LIT_CHARS ";\n"][LIT_CHARS "; * sm "][VarSub new_head][LIT_CHARS ...][VarSub head2][LIT_CHARS " (1):\n"][LIT_CHARS "; > 2nd commit\n"][LIT_CHARS ";\n"][LIT_CHARS "; Untracked files:\n"][LIT_CHARS "; (use "][RIGHT_D_QUOTE "\""][LIT_CHARS "git add ..."][RIGHT_D_QUOTE "\""][LIT_CHARS " to include in what will be committed)\n"][LIT_CHARS ";\n"][LIT_CHARS ";\t.gitmodules\n"][LIT_CHARS ";\tdir1/untracked\n"][LIT_CHARS ";\tdir2/modified\n"][LIT_CHARS ";\tdir2/untracked\n"][LIT_CHARS ";\tuntracked\n"][LIT_CHARS ";\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "status (core.commentchar with submodule summary)"]]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "status (core.commentchar with two chars with submodule summary)"]]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "--ignore-submodules=all suppresses submodule summary"]]} {[SQ expect << EOF &&\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect << EOF &&\n"> ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> ...\" to include in what will be committed)\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected_short &&\n"> expected_noshort\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected_branch &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected_nobranch &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> >\\\"\\$1\\\"\" &&\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect << EOF &&\n"> ...\" to unstage)\n"> ...\" to update what will be committed)\n"> ...\" to discard changes in working directory)\n"> output &&\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_done]}) )