(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <'Format-patch numbering options'>)} spids: [13] ) ] spids: [13] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(setup)} { (SQ <'\n'> <'\n'> <'\techo A > file &&\n'> <'\tgit add file &&\n'> <'\tgit commit -m First &&\n'> <'\n'> <'\techo B >> file &&\n'> <'\tgit commit -a -m Second &&\n'> <'\n'> <'\techo C >> file &&\n'> <'\tgit commit -a -m Third\n'> <'\n'> ) } ) (FuncDef name: test_num_no_numbered body: (BraceGroup children: [ (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cnt) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(grep)} { (DQ ('^Subject: ') (EscapedLiteralPart token: <Lit_EscapedChar '\\['> ) (PATCH) (EscapedLiteralPart token:<Lit_EscapedChar '\\]'>) ) } {($ VSub_Number '$1')} ) (C {(wc)} {(-l)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [56 73] ) } spids: [55] ) ] spids: [55] ) (C {(test)} {($ VSub_Name '$cnt')} {(Lit_Other '=')} {($ VSub_Number '$2')}) ] op_id: Op_DAmp ) ] spids: [52] ) spids: [48 51] ) (FuncDef name: test_single_no_numbered body: (BraceGroup children: [(C {(test_num_no_numbered)} {($ VSub_Number '$1')} {(1)})] spids: [93] ) spids: [89 92] ) (FuncDef name: test_no_numbered body: (BraceGroup children: [(C {(test_num_no_numbered)} {($ VSub_Number '$1')} {(2)})] spids: [109] ) spids: [105 108] ) (FuncDef name: test_single_cover_letter_numbered body: (BraceGroup children: [ (AndOr children: [ (C {(grep)} { (DQ ('^Subject: ') (EscapedLiteralPart token:<Lit_EscapedChar '\\['>) ('PATCH 0/1') (EscapedLiteralPart token:<Lit_EscapedChar '\\]'>) ) } {($ VSub_Number '$1')} ) (C {(grep)} { (DQ ('^Subject: ') (EscapedLiteralPart token:<Lit_EscapedChar '\\['>) ('PATCH 1/1') (EscapedLiteralPart token:<Lit_EscapedChar '\\]'>) ) } {($ VSub_Number '$1')} ) ] op_id: Op_DAmp ) ] spids: [125] ) spids: [121 124] ) (FuncDef name: test_single_numbered body: (BraceGroup children: [ (C {(grep)} { (DQ ('^Subject: ') (EscapedLiteralPart token:<Lit_EscapedChar '\\['>) ('PATCH 1/1') (EscapedLiteralPart token:<Lit_EscapedChar '\\]'>) ) } {($ VSub_Number '$1')} ) ] spids: [160] ) spids: [156 159] ) (FuncDef name: test_numbered body: (BraceGroup children: [ (AndOr children: [ (C {(grep)} { (DQ ('^Subject: ') (EscapedLiteralPart token:<Lit_EscapedChar '\\['>) ('PATCH 1/2') (EscapedLiteralPart token:<Lit_EscapedChar '\\]'>) ) } {($ VSub_Number '$1')} ) (C {(grep)} { (DQ ('^Subject: ') (EscapedLiteralPart token:<Lit_EscapedChar '\\['>) ('PATCH 2/2') (EscapedLiteralPart token:<Lit_EscapedChar '\\]'>) ) } {($ VSub_Number '$1')} ) ] op_id: Op_DAmp ) ] spids: [181] ) spids: [177 180] ) (C {(test_expect_success)} {(SQ <'single patch defaults to no numbers'>)} { (SQ <'\n'> <'\tgit format-patch --stdout HEAD~1 >patch0.single &&\n'> <'\ttest_single_no_numbered patch0.single\n'> ) } ) (C {(test_expect_success)} {(SQ <'multiple patch defaults to numbered'>)} { (SQ <'\n'> <'\n'> <'\tgit format-patch --stdout HEAD~2 >patch0.multiple &&\n'> <'\ttest_numbered patch0.multiple\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'Use --numbered'>)} { (SQ <'\n'> <'\n'> <'\tgit format-patch --numbered --stdout HEAD~1 >patch1 &&\n'> <'\ttest_single_numbered patch1\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'format.numbered = true'>)} { (SQ <'\n'> <'\n'> <'\tgit config format.numbered true &&\n'> <'\tgit format-patch --stdout HEAD~2 >patch2 &&\n'> <'\ttest_numbered patch2\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'format.numbered && single patch'>)} { (SQ <'\n'> <'\n'> <'\tgit format-patch --stdout HEAD^ > patch3 &&\n'> <'\ttest_single_numbered patch3\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'format.numbered && --no-numbered'>)} { (SQ <'\n'> <'\n'> <'\tgit format-patch --no-numbered --stdout HEAD~2 >patch4 &&\n'> <'\ttest_no_numbered patch4\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'format.numbered && --keep-subject'>)} { (SQ <'\n'> <'\n'> <'\tgit format-patch --keep-subject --stdout HEAD^ >patch4a &&\n'> <'\tgrep "^Subject: Third" patch4a\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'format.numbered = auto'>)} { (SQ <'\n'> <'\n'> <'\tgit config format.numbered auto &&\n'> <'\tgit format-patch --stdout HEAD~2 > patch5 &&\n'> <'\ttest_numbered patch5\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'format.numbered = auto && single patch'>)} { (SQ <'\n'> <'\n'> <'\tgit format-patch --stdout HEAD^ > patch6 &&\n'> <'\ttest_single_no_numbered patch6\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'format.numbered = auto && --no-numbered'>)} { (SQ <'\n'> <'\n'> <'\tgit format-patch --no-numbered --stdout HEAD~2 > patch7 &&\n'> <'\ttest_no_numbered patch7\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'--start-number && --numbered'>)} { (SQ <'\n'> <'\n'> <'\tgit format-patch --start-number 3 --numbered --stdout HEAD~1 > patch8 &&\n'> <'\tgrep "^Subject: \\[PATCH 3/3\\]" patch8\n'> ) } ) (C {(test_expect_success)} {(SQ <'single patch with cover-letter defaults to numbers'>)} { (SQ <'\n'> <'\tgit format-patch --cover-letter --stdout HEAD~1 >patch9.single &&\n'> <'\ttest_single_cover_letter_numbered patch9.single\n'> ) } ) (C {(test_expect_success)} {(SQ <'Use --no-numbered and --cover-letter single patch'>)} { (SQ <'\n'> <'\tgit format-patch --no-numbered --stdout --cover-letter HEAD~1 >patch10 &&\n'> <'\ttest_no_numbered patch10\n'> ) } ) (C {(test_done)}) ] )