(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <".mailmap configurations">)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (FuncDef name: fuzz_blame body: (BraceGroup children: [ (C {(sed)} { (DQ ("\n") ("\t\ts/") ($ VSub_Name "$_x05") ("[0-9a-f][0-9a-f][0-9a-f]/OBJID/g\n") ("\t\ts/") ($ VSub_Name "$_x05") ("[0-9a-f][0-9a-f]/OBJI/g\n") ("\t\ts/[-0-9]") (EscapedLiteralPart token:<Lit_EscapedChar "\\{">) (10) (EscapedLiteralPart token:<Lit_EscapedChar "\\}">) (" [:0-9]") (EscapedLiteralPart token:<Lit_EscapedChar "\\{">) (8) (EscapedLiteralPart token:<Lit_EscapedChar "\\}">) (" [-+][0-9]") (EscapedLiteralPart token:<Lit_EscapedChar "\\{">) (4) (EscapedLiteralPart token:<Lit_EscapedChar "\\}">) ("/DATE/g\n") ("\t") ) } {(DQ ($ VSub_At "$@"))} ) ] spids: [20] ) spids: [15 19] ) (C {(test_expect_success)} {(setup)} { (SQ <"\n"> <"\tcat >contacts <<-\\EOF &&\n"> <"\tA U Thor <author@example.com>\n"> <"\tnick1 <bugs@company.xx>\n"> <"\tEOF\n"> <"\n"> <"\techo one >one &&\n"> <"\tgit add one &&\n"> <"\ttest_tick &&\n"> <"\tgit commit -m initial &&\n"> <"\techo two >>one &&\n"> <"\tgit add one &&\n"> <"\ttest_tick &&\n"> <"\tgit commit --author \"nick1 <bugs@company.xx>\" -m second\n"> ) } ) (C {(test_expect_success)} {(SQ <"check-mailmap no arguments">)} {(SQ <"\n"> <"\ttest_must_fail git check-mailmap\n">)} ) (C {(test_expect_success)} {(SQ <"check-mailmap arguments">)} { (SQ <"\n"> <"\tcat >expect <<-\\EOF &&\n"> <"\tA U Thor <author@example.com>\n"> <"\tnick1 <bugs@company.xx>\n"> <"\tEOF\n"> <"\tgit check-mailmap \\\n"> <"\t\t\"A U Thor <author@example.com>\" \\\n"> <"\t\t\"nick1 <bugs@company.xx>\" >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"check-mailmap --stdin">)} { (SQ <"\n"> <"\tcat >expect <<-\\EOF &&\n"> <"\tA U Thor <author@example.com>\n"> <"\tnick1 <bugs@company.xx>\n"> <"\tEOF\n"> <"\tgit check-mailmap --stdin <contacts >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"check-mailmap --stdin arguments">)} { (SQ <"\n"> <"\tcat >expect <<-\\EOF &&\n"> <"\tInternal Guy <bugs@company.xy>\n"> <"\tEOF\n"> <"\tcat <contacts >>expect &&\n"> <"\tgit check-mailmap --stdin \"Internal Guy <bugs@company.xy>\" \\\n"> <"\t\t<contacts >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"check-mailmap bogus contact">)} {(SQ <"\n"> <"\ttest_must_fail git check-mailmap bogus\n">)} ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[158]) (HereDoc op_id: Redir_DLess fd: -1 body: {("A U Thor (1):\n") (" initial\n") ("\n") ("nick1 (1):\n") (" second\n") ("\n")} do_expansion: False here_end: EOF was_filled: True spids: [161] ) ] ) (C {(test_expect_success)} {(SQ <"No mailmap">)} {(SQ <"\n"> <"\tgit shortlog HEAD >actual &&\n"> <"\ttest_cmp expect actual\n">)} ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[181]) (HereDoc op_id: Redir_DLess fd: -1 body: {("Repo Guy (1):\n") (" initial\n") ("\n") ("nick1 (1):\n") (" second\n") ("\n")} do_expansion: False here_end: EOF was_filled: True spids: [184] ) ] ) (C {(test_expect_success)} {(SQ <"default .mailmap">)} { (SQ <"\n"> <"\techo \"Repo Guy <author@example.com>\" > .mailmap &&\n"> <"\tgit shortlog HEAD >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[211]) (HereDoc op_id: Redir_DLess fd: -1 body: {("Internal Guy (1):\n") (" second\n") ("\n") ("Repo Guy (1):\n") (" initial\n") ("\n") } do_expansion: False here_end: EOF was_filled: True spids: [214] ) ] ) (C {(test_expect_success)} {(SQ <"mailmap.file set">)} { (SQ <"\n"> <"\tmkdir -p internal_mailmap &&\n"> <"\techo \"Internal Guy <bugs@company.xx>\" > internal_mailmap/.mailmap &&\n"> <"\tgit config mailmap.file internal_mailmap/.mailmap &&\n"> <"\tgit shortlog HEAD >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[236]) (HereDoc op_id: Redir_DLess fd: -1 body: {("External Guy (1):\n") (" initial\n") ("\n") ("Internal Guy (1):\n") (" second\n") ("\n") } do_expansion: False here_end: EOF was_filled: True spids: [239] ) ] ) (C {(test_expect_success)} {(SQ <"mailmap.file override">)} { (SQ <"\n"> <"\techo \"External Guy <author@example.com>\" >> internal_mailmap/.mailmap &&\n"> <"\tgit config mailmap.file internal_mailmap/.mailmap &&\n"> <"\tgit shortlog HEAD >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[260]) (HereDoc op_id: Redir_DLess fd: -1 body: {("Repo Guy (1):\n") (" initial\n") ("\n") ("nick1 (1):\n") (" second\n") ("\n")} do_expansion: False here_end: EOF was_filled: True spids: [263] ) ] ) (C {(test_expect_success)} {(SQ <"mailmap.file non-existent">)} { (SQ <"\n"> <"\trm internal_mailmap/.mailmap &&\n"> <"\trmdir internal_mailmap &&\n"> <"\tgit shortlog HEAD >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[285]) (HereDoc op_id: Redir_DLess fd: -1 body: {("Internal Guy (1):\n") (" second\n") ("\n") ("Repo Guy (1):\n") (" initial\n") ("\n") } do_expansion: False here_end: EOF was_filled: True spids: [288] ) ] ) (C {(test_expect_success)} {(SQ <"name entry after email entry">)} { (SQ <"\n"> <"\tmkdir -p internal_mailmap &&\n"> <"\techo \"<bugs@company.xy> <bugs@company.xx>\" >internal_mailmap/.mailmap &&\n"> <"\techo \"Internal Guy <bugs@company.xx>\" >>internal_mailmap/.mailmap &&\n"> <"\tgit shortlog HEAD >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[311]) (HereDoc op_id: Redir_DLess fd: -1 body: {("Internal Guy (1):\n") (" second\n") ("\n") ("Repo Guy (1):\n") (" initial\n") ("\n") } do_expansion: False here_end: EOF was_filled: True spids: [314] ) ] ) (C {(test_expect_success)} {(SQ <"name entry after email entry, case-insensitive">)} { (SQ <"\n"> <"\tmkdir -p internal_mailmap &&\n"> <"\techo \"<bugs@company.xy> <bugs@company.xx>\" >internal_mailmap/.mailmap &&\n"> <"\techo \"Internal Guy <BUGS@Company.xx>\" >>internal_mailmap/.mailmap &&\n"> <"\tgit shortlog HEAD >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[337]) (HereDoc op_id: Redir_DLess fd: -1 body: {("A U Thor (1):\n") (" initial\n") ("\n") ("nick1 (1):\n") (" second\n") ("\n")} do_expansion: False here_end: EOF was_filled: True spids: [340] ) ] ) (C {(test_expect_success)} {(SQ <"No mailmap files, but configured">)} { (SQ <"\n"> <"\trm -f .mailmap internal_mailmap/.mailmap &&\n"> <"\tgit shortlog HEAD >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"setup mailmap blob tests">)} { (SQ <"\n"> <"\tgit checkout -b map &&\n"> <"\ttest_when_finished \"git checkout master\" &&\n"> <"\tcat >just-bugs <<-\\EOF &&\n"> <"\tBlob Guy <bugs@company.xx>\n"> <"\tEOF\n"> <"\tcat >both <<-\\EOF &&\n"> <"\tBlob Guy <author@example.com>\n"> <"\tBlob Guy <bugs@company.xx>\n"> <"\tEOF\n"> <"\tprintf \"Tricky Guy <author@example.com>\" >no-newline &&\n"> <"\tgit add just-bugs both no-newline &&\n"> <"\tgit commit -m \"my mailmaps\" &&\n"> <"\techo \"Repo Guy <author@example.com>\" >.mailmap &&\n"> <"\techo \"Internal Guy <author@example.com>\" >internal.map\n"> ) } ) (C {(test_expect_success)} {(SQ <"mailmap.blob set">)} { (SQ <"\n"> <"\tcat >expect <<-\\EOF &&\n"> <"\tBlob Guy (1):\n"> <"\t second\n"> <"\n"> <"\tRepo Guy (1):\n"> <"\t initial\n"> <"\n"> <"\tEOF\n"> <"\tgit -c mailmap.blob=map:just-bugs shortlog HEAD >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"mailmap.blob overrides .mailmap">)} { (SQ <"\n"> <"\tcat >expect <<-\\EOF &&\n"> <"\tBlob Guy (2):\n"> <"\t initial\n"> <"\t second\n"> <"\n"> <"\tEOF\n"> <"\tgit -c mailmap.blob=map:both shortlog HEAD >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"mailmap.file overrides mailmap.blob">)} { (SQ <"\n"> <"\tcat >expect <<-\\EOF &&\n"> <"\tBlob Guy (1):\n"> <"\t second\n"> <"\n"> <"\tInternal Guy (1):\n"> <"\t initial\n"> <"\n"> <"\tEOF\n"> <"\tgit \\\n"> <"\t -c mailmap.blob=map:both \\\n"> <"\t -c mailmap.file=internal.map \\\n"> <"\t shortlog HEAD >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"mailmap.blob can be missing">)} { (SQ <"\n"> <"\tcat >expect <<-\\EOF &&\n"> <"\tRepo Guy (1):\n"> <"\t initial\n"> <"\n"> <"\tnick1 (1):\n"> <"\t second\n"> <"\n"> <"\tEOF\n"> <"\tgit -c mailmap.blob=map:nonexistent shortlog HEAD >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"mailmap.blob defaults to off in non-bare repo">)} { (SQ <"\n"> <"\tgit init non-bare &&\n"> <"\t(\n"> <"\t\tcd non-bare &&\n"> <"\t\ttest_commit one .mailmap \"Fake Name <author@example.com>\" &&\n"> <"\t\techo \" 1\tFake Name\" >expect &&\n"> <"\t\tgit shortlog -ns HEAD >actual &&\n"> <"\t\ttest_cmp expect actual &&\n"> <"\t\trm .mailmap &&\n"> <"\t\techo \" 1\tA U Thor\" >expect &&\n"> <"\t\tgit shortlog -ns HEAD >actual &&\n"> <"\t\ttest_cmp expect actual\n"> <"\t)\n"> ) } ) (C {(test_expect_success)} {(SQ <"mailmap.blob defaults to HEAD:.mailmap in bare repo">)} { (SQ <"\n"> <"\tgit clone --bare non-bare bare &&\n"> <"\t(\n"> <"\t\tcd bare &&\n"> <"\t\techo \" 1\tFake Name\" >expect &&\n"> <"\t\tgit shortlog -ns HEAD >actual &&\n"> <"\t\ttest_cmp expect actual\n"> <"\t)\n"> ) } ) (C {(test_expect_success)} {(SQ <"mailmap.blob can handle blobs without trailing newline">)} { (SQ <"\n"> <"\tcat >expect <<-\\EOF &&\n"> <"\tTricky Guy (1):\n"> <"\t initial\n"> <"\n"> <"\tnick1 (1):\n"> <"\t second\n"> <"\n"> <"\tEOF\n"> <"\tgit -c mailmap.blob=map:no-newline shortlog HEAD >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"cleanup after mailmap.blob tests">)} {(SQ <"\n"> <"\trm -f .mailmap\n">)} ) (C {(test_expect_success)} {(SQ <"single-character name">)} { (SQ <"\n"> <"\techo \" 1\tA <author@example.com>\" >expect &&\n"> <"\techo \" 1\tnick1 <bugs@company.xx>\" >>expect &&\n"> <"\techo \"A <author@example.com>\" >.mailmap &&\n"> <"\ttest_when_finished \"rm .mailmap\" &&\n"> <"\tgit shortlog -es HEAD >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"preserve canonical email case">)} { (SQ <"\n"> <"\techo \" 1\tA U Thor <AUTHOR@example.com>\" >expect &&\n"> <"\techo \" 1\tnick1 <bugs@company.xx>\" >>expect &&\n"> <"\techo \"<AUTHOR@example.com> <author@example.com>\" >.mailmap &&\n"> <"\ttest_when_finished \"rm .mailmap\" &&\n"> <"\tgit shortlog -es HEAD >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[581]) (HereDoc op_id: Redir_DLess fd: -1 body: {("A U Thor <author@example.com> (1):\n") (" initial\n") ("\n") ("CTO <cto@company.xx> (1):\n") (" seventh\n") ("\n") ("Other Author <other@author.xx> (2):\n") (" third\n") (" fourth\n") ("\n") ("Santa Claus <santa.claus@northpole.xx> (2):\n") (" fifth\n") (" sixth\n") ("\n") ("Some Dude <some@dude.xx> (1):\n") (" second\n") ("\n") } do_expansion: False here_end: EOF was_filled: True spids: [584] ) ] ) (C {(test_expect_success)} {(SQ <"Shortlog output (complex mapping)">)} { (SQ <"\n"> <"\techo three >>one &&\n"> <"\tgit add one &&\n"> <"\ttest_tick &&\n"> <"\tgit commit --author \"nick2 <bugs@company.xx>\" -m third &&\n"> <"\n"> <"\techo four >>one &&\n"> <"\tgit add one &&\n"> <"\ttest_tick &&\n"> <"\tgit commit --author \"nick2 <nick2@company.xx>\" -m fourth &&\n"> <"\n"> <"\techo five >>one &&\n"> <"\tgit add one &&\n"> <"\ttest_tick &&\n"> <"\tgit commit --author \"santa <me@company.xx>\" -m fifth &&\n"> <"\n"> <"\techo six >>one &&\n"> <"\tgit add one &&\n"> <"\ttest_tick &&\n"> <"\tgit commit --author \"claus <me@company.xx>\" -m sixth &&\n"> <"\n"> <"\techo seven >>one &&\n"> <"\tgit add one &&\n"> <"\ttest_tick &&\n"> <"\tgit commit --author \"CTO <cto@coompany.xx>\" -m seventh &&\n"> <"\n"> <"\tmkdir -p internal_mailmap &&\n"> <"\techo \"Committed <committer@example.com>\" > internal_mailmap/.mailmap &&\n"> < "\techo \"<cto@company.xx> <cto@coompany.xx>\" >> internal_mailmap/.mailmap &&\n" > < "\techo \"Some Dude <some@dude.xx> nick1 <bugs@company.xx>\" >> internal_mailmap/.mailmap &&\n" > < "\techo \"Other Author <other@author.xx> nick2 <bugs@company.xx>\" >> internal_mailmap/.mailmap &&\n" > < "\techo \"Other Author <other@author.xx> <nick2@company.xx>\" >> internal_mailmap/.mailmap &&\n" > < "\techo \"Santa Claus <santa.claus@northpole.xx> <me@company.xx>\" >> internal_mailmap/.mailmap &&\n" > < "\techo \"Santa Claus <santa.claus@northpole.xx> <me@company.xx>\" >> internal_mailmap/.mailmap &&\n" > <"\n"> <"\tgit shortlog -e HEAD >actual &&\n"> <"\ttest_cmp expect actual\n"> <"\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[642]) (HereDoc op_id: Redir_DLess fd: -1 body: {("Author CTO <cto@coompany.xx> maps to CTO <cto@company.xx>\n") ( "Committer C O Mitter <committer@example.com> maps to Committed <committer@example.com>\n" ) ("\n") ("Author claus <me@company.xx> maps to Santa Claus <santa.claus@northpole.xx>\n") ( "Committer C O Mitter <committer@example.com> maps to Committed <committer@example.com>\n" ) ("\n") ("Author santa <me@company.xx> maps to Santa Claus <santa.claus@northpole.xx>\n") ( "Committer C O Mitter <committer@example.com> maps to Committed <committer@example.com>\n" ) ("\n") ("Author nick2 <nick2@company.xx> maps to Other Author <other@author.xx>\n") ( "Committer C O Mitter <committer@example.com> maps to Committed <committer@example.com>\n" ) ("\n") ("Author nick2 <bugs@company.xx> maps to Other Author <other@author.xx>\n") ( "Committer C O Mitter <committer@example.com> maps to Committed <committer@example.com>\n" ) ("\n") ("Author nick1 <bugs@company.xx> maps to Some Dude <some@dude.xx>\n") ( "Committer C O Mitter <committer@example.com> maps to Committed <committer@example.com>\n" ) ("\n") ("Author A U Thor <author@example.com> maps to A U Thor <author@example.com>\n") ( "Committer C O Mitter <committer@example.com> maps to Committed <committer@example.com>\n" ) } do_expansion: False here_end: EOF was_filled: True spids: [645] ) ] ) (C {(test_expect_success)} {(SQ <"Log output (complex mapping)">)} { (SQ <"\n"> < "\tgit log --pretty=format:\"Author %an <%ae> maps to %aN <%aE>%nCommitter %cn <%ce> maps to %cN <%cE>%n\" >actual &&\n" > <"\ttest_cmp expect actual\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[665]) (HereDoc op_id: Redir_DLess fd: -1 body: {("Author: CTO <cto@company.xx>\n") ("Author: Santa Claus <santa.claus@northpole.xx>\n") ("Author: Santa Claus <santa.claus@northpole.xx>\n") ("Author: Other Author <other@author.xx>\n") ("Author: Other Author <other@author.xx>\n") ("Author: Some Dude <some@dude.xx>\n") ("Author: A U Thor <author@example.com>\n") } do_expansion: False here_end: EOF was_filled: True spids: [668] ) ] ) (C {(test_expect_success)} {(SQ <"Log output with --use-mailmap">)} { (SQ <"\n"> <"\tgit log --use-mailmap | grep Author >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[688]) (HereDoc op_id: Redir_DLess fd: -1 body: {("Author: CTO <cto@company.xx>\n") ("Author: Santa Claus <santa.claus@northpole.xx>\n") ("Author: Santa Claus <santa.claus@northpole.xx>\n") ("Author: Other Author <other@author.xx>\n") ("Author: Other Author <other@author.xx>\n") ("Author: Some Dude <some@dude.xx>\n") ("Author: A U Thor <author@example.com>\n") } do_expansion: False here_end: EOF was_filled: True spids: [691] ) ] ) (C {(test_expect_success)} {(SQ <"Log output with log.mailmap">)} { (SQ <"\n"> <"\tgit -c log.mailmap=True log | grep Author >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[711]) (HereDoc op_id: Redir_DLess fd: -1 body: {("Author: Santa Claus <santa.claus@northpole.xx>\n") ("Author: Santa Claus <santa.claus@northpole.xx>\n") } do_expansion: False here_end: EOF was_filled: True spids: [714] ) ] ) (C {(test_expect_success)} {(SQ <"Grep author with --use-mailmap">)} { (SQ <"\n"> <"\tgit log --use-mailmap --author Santa | grep Author >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[733]) (HereDoc op_id: Redir_DLess fd: -1 body: {("Author: Santa Claus <santa.claus@northpole.xx>\n") ("Author: Santa Claus <santa.claus@northpole.xx>\n") } do_expansion: False here_end: EOF was_filled: True spids: [736] ) ] ) (C {(test_expect_success)} {(SQ <"Grep author with log.mailmap">)} { (SQ <"\n"> <"\tgit -c log.mailmap=True log --author Santa | grep Author >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (SimpleCommand redirects:[(Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[754])]) (C {(test_expect_success)} {(SQ <"Only grep replaced author with --use-mailmap">)} { (SQ <"\n"> <"\tgit log --use-mailmap --author \"<cto@coompany.xx>\" >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[776]) (HereDoc op_id: Redir_DLess fd: -1 body: {("^OBJI (A U Thor DATE 1) one\n") ("OBJID (Some Dude DATE 2) two\n") ("OBJID (Other Author DATE 3) three\n") ("OBJID (Other Author DATE 4) four\n") ("OBJID (Santa Claus DATE 5) five\n") ("OBJID (Santa Claus DATE 6) six\n") ("OBJID (CTO DATE 7) seven\n") } do_expansion: False here_end: EOF was_filled: True spids: [779] ) ] ) (C {(test_expect_success)} {(SQ <"Blame output (complex mapping)">)} { (SQ <"\n"> <"\tgit blame one >actual &&\n"> <"\tfuzz_blame actual >actual.fuzz &&\n"> <"\ttest_cmp expect actual.fuzz\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[799]) (HereDoc op_id: Redir_DLess fd: -1 body: {("Some Dude <some@dude.xx>\n")} do_expansion: False here_end: EOF was_filled: True spids: [802] ) ] ) (C {(test_expect_success)} {(SQ <"commit --author honors mailmap">)} { (SQ <"\n"> <"\ttest_must_fail git commit --author \"nick\" --allow-empty -meight &&\n"> <"\tgit commit --author \"Some Dude\" --allow-empty -meight &&\n"> <"\tgit show --pretty=format:\"%an <%ae>%n\" >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_done)}) ] )