(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 foo &&\n"> bar &&\n"> foo &&\n"> bar &&\n"> foo &&\n"> bar &&\n"> bar-then-foo &&\n"> foo-then-bar\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output &&\n"> ]}) (FunctionDef calc_patch_id [] (List (= scope= flags=0 words=[] bindings=[('patch_name', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS shift]}) (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS patch-id]} {[DQ [VarSub @]]}) (Com {[LIT_CHARS sed]} {[DQ [LIT_CHARS "s/ .*//"]]} < (FilenameRedirectNode filename={[LIT_CHARS patch-id_] [DQ [VarSub patch_name]]} "> 1), > ) ) (Com {[LIT_CHARS test_line_count]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]} {[LIT_CHARS patch-id_] [DQ [VarSub patch_name]]}) ) ) ) (FunctionDef get_top_diff [] (Com {[LIT_CHARS git]} {[LIT_CHARS log]} {[LIT_CHARS -p]} {[LIT_CHARS -1]} {[DQ [VarSub @]]} {[LIT_CHARS -O]} {[LIT_CHARS bar-then-foo]} {[LIT_CHARS --]}) ) (FunctionDef get_patch_id [] (Pipeline (Com {[LIT_CHARS get_top_diff]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS calc_patch_id]} {[DQ [VarSub @]]}) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (FunctionDef cmp_patch_id [] (If (Com {[LIT_CHARS test]} {[DQ [VarSub 1]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS relevant]]}) (Pipeline! (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS patch-id_] [DQ [VarSub 2]]} {[LIT_CHARS patch-id_] [DQ [VarSub 3]]}) ) (ElseTrue) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS patch-id_] [DQ [VarSub 2]]} {[LIT_CHARS patch-id_] [DQ [VarSub 3]]}) ) ) (FunctionDef test_patch_id_file_order [] (List (= scope= flags=0 words=[] bindings=[('relevant', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('name', {[DQ [LIT_CHARS order-][VarSub 1][LIT_CHARS -][VarSub relevant]]})]) (Com {[LIT_CHARS shift]}) (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS get_top_diff]} {[DQ [LIT_CHARS master]]}) (Com {[LIT_CHARS calc_patch_id]} {[DQ [VarSub name]]} {[DQ [VarSub @]]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[LIT_CHARS same]}) (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS format-patch]} {[LIT_CHARS -1]} {[LIT_CHARS --stdout]} {[LIT_CHARS -O]} {[LIT_CHARS foo-then-bar]}) (Com {[LIT_CHARS calc_patch_id]} {[DQ [LIT_CHARS ordered-][VarSub name]]} {[DQ [VarSub @]]}) ) (Com {[LIT_CHARS cmp_patch_id]} {[VarSub relevant]} {[DQ [VarSub name]]} {[DQ [LIT_CHARS ordered-][VarSub name]]}) ) ) ) ) ) (FunctionDef test_patch_id [] (Com {[LIT_CHARS test_patch_id_file_order]} {[DQ [VarSub @]]}) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS nonl]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "diff --git i/a w/a\n"] [LIT_CHARS "index e69de29..2e65efe 100644\n"] [LIT_CHARS "--- i/a\n"] [LIT_CHARS "+++ w/a\n"] [LIT_CHARS "@@ -0,0 +1 @@\n"] [LIT_CHARS "+a\n"] [LIT_CHARS "\\ No newline at end of file\n"] [LIT_CHARS "diff --git i/b w/b\n"] [LIT_CHARS "index e69de29..6178079 100644\n"] [LIT_CHARS "--- i/b\n"] [LIT_CHARS "+++ w/b\n"] [LIT_CHARS "@@ -0,0 +1 @@\n"] [LIT_CHARS "+b\n"]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS withnl]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "diff --git i/a w/a\n"] [LIT_CHARS "index e69de29..7898192 100644\n"] [LIT_CHARS "--- i/a\n"] [LIT_CHARS "+++ w/a\n"] [LIT_CHARS "@@ -0,0 +1 @@\n"] [LIT_CHARS "+a\n"] [LIT_CHARS "diff --git i/b w/b\n"] [LIT_CHARS "index e69de29..6178079 100644\n"] [LIT_CHARS "--- i/b\n"] [LIT_CHARS "+++ w/b\n"] [LIT_CHARS "@@ -0,0 +1 @@\n"] [LIT_CHARS "+b\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_done]}) )