(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)}) ] )