(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:test_description) op: Equal rhs: {(SQ <'.mailmap configurations'>)} ) ] ) (C {(.)} {(./test-lib.sh)}) (command.FuncDef name: fuzz_blame body: (command.BraceGroup children: [ (C {(sed)} { (DQ ('\n') ('\t\ts/') ($ VSub_DollarName '$_x05') ('[0-9a-f][0-9a-f][0-9a-f]/OBJID/g\n') ('\t\ts/') ($ VSub_DollarName '$_x05') ('[0-9a-f][0-9a-f]/OBJI/g\n') ('\t\ts/[-0-9]') (Lit_Other '\\') ('{10') (Lit_Other '\\') ('} [:0-9]') (Lit_Other '\\') ('{8') (Lit_Other '\\') ('} [-+][0-9]') (Lit_Other '\\') ('{4') (Lit_Other '\\') ('}/DATE/g\n') ('\t') ) } {(DQ ($ VSub_At '$@'))} ) ] ) ) (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'>)} ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 171 stdin_parts: [ ('A U Thor (1):\n') (' initial\n') ('\n') ('nick1 (1):\n') (' second\n') ('\n') ] ) ] ) (C {(test_expect_success)} {(SQ <'No mailmap'>)} {(SQ <'\n'> <'\tgit shortlog HEAD >actual &&\n'> <'\ttest_cmp expect actual\n'>)} ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 201 stdin_parts: [ ('Repo Guy (1):\n') (' initial\n') ('\n') ('nick1 (1):\n') (' second\n') ('\n') ] ) ] ) (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'> ) } ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 238 stdin_parts: [ ('Internal Guy (1):\n') (' second\n') ('\n') ('Repo Guy (1):\n') (' initial\n') ('\n') ] ) ] ) (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'> ) } ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 270 stdin_parts: [ ('External Guy (1):\n') (' initial\n') ('\n') ('Internal Guy (1):\n') (' second\n') ('\n') ] ) ] ) (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'> ) } ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 301 stdin_parts: [ ('Repo Guy (1):\n') (' initial\n') ('\n') ('nick1 (1):\n') (' second\n') ('\n') ] ) ] ) (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'> ) } ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 333 stdin_parts: [ ('Internal Guy (1):\n') (' second\n') ('\n') ('Repo Guy (1):\n') (' initial\n') ('\n') ] ) ] ) (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'> ) } ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 366 stdin_parts: [ ('Internal Guy (1):\n') (' second\n') ('\n') ('Repo Guy (1):\n') (' initial\n') ('\n') ] ) ] ) (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'> ) } ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 399 stdin_parts: [ ('A U Thor (1):\n') (' initial\n') ('\n') ('nick1 (1):\n') (' second\n') ('\n') ] ) ] ) (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'> ) } ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 661 stdin_parts: [ ('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') ] ) ] ) (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'> ) } ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 743 stdin_parts: [ ('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' ) ] ) ] ) (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'> ) } ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 774 stdin_parts: [ ('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') ] ) ] ) (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'> ) } ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 805 stdin_parts: [ ('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') ] ) ] ) (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'> ) } ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 831 stdin_parts: [ ('Author: Santa Claus <santa.claus@northpole.xx>\n') ('Author: Santa Claus <santa.claus@northpole.xx>\n') ] ) ] ) (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'> ) } ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 856 stdin_parts: [ ('Author: Santa Claus <santa.claus@northpole.xx>\n') ('Author: Santa Claus <santa.claus@northpole.xx>\n') ] ) ] ) (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'> ) } ) (command.SimpleCommand redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)})] ) (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'> ) } ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 907 stdin_parts: [ ('^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') ] ) ] ) (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'> ) } ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 932 stdin_parts: [('Some Dude <some@dude.xx>\n')] ) ] ) (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)}) ] )