(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'Test for "git log --decorate" colors'>)} spids: [13] ) ] ) (C {<.>} {<'./test-lib.sh'>}) (command.ShFunction name: get_color body: (BraceGroup children: [ (C {<git>} {<config>} {<--get-color>} {<no.such.slot>} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ) (C {<test_expect_success>} {<setup>} { (SQ <'\n'> <'\tgit config diff.color.commit yellow &&\n'> <'\tgit config color.decorate.branch green &&\n'> <'\tgit config color.decorate.remoteBranch red &&\n'> <'\tgit config color.decorate.tag "reverse bold yellow" &&\n'> <'\tgit config color.decorate.stash magenta &&\n'> <'\tgit config color.decorate.HEAD cyan &&\n'> <'\n'> <'\tc_reset=$(get_color reset) &&\n'> <'\n'> <'\tc_commit=$(get_color yellow) &&\n'> <'\tc_branch=$(get_color green) &&\n'> <'\tc_remoteBranch=$(get_color red) &&\n'> <'\tc_tag=$(get_color "reverse bold yellow") &&\n'> <'\tc_stash=$(get_color magenta) &&\n'> <'\tc_HEAD=$(get_color cyan) &&\n'> <'\n'> <'\ttest_commit A &&\n'> <'\tgit clone . other &&\n'> <'\t(\n'> <'\t\tcd other &&\n'> <'\t\ttest_commit A1\n'> <'\t) &&\n'> <'\n'> <'\tgit remote add -f other ./other &&\n'> <'\ttest_commit B &&\n'> <'\tgit tag v1.0 &&\n'> <'\techo >>A.t &&\n'> <'\tgit stash save Changes to A.t\n'> ) } ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expected>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {<EOF>} here_end_span_id: 267 stdin_parts: [ (${ Id.VSub_Name c_commit) <COMMIT_ID> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) <' ('> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_HEAD) <'HEAD ->'> <' '> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_branch) <master> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) <','> <' '> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_tag) <'tag: v1.0'> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) <','> <' '> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_tag) <'tag: B'> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) <')'> (${ Id.VSub_Name c_reset) <' B\n'> (${ Id.VSub_Name c_commit) <COMMIT_ID> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) <' ('> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_tag) <'tag: A1'> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) <','> <' '> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_remoteBranch) <'other/master'> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) <')'> (${ Id.VSub_Name c_reset) <' A1\n'> (${ Id.VSub_Name c_commit) <COMMIT_ID> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) <' ('> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_stash) <'refs/stash'> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) <')'> (${ Id.VSub_Name c_reset) <' On master: Changes to A.t\n'> (${ Id.VSub_Name c_commit) <COMMIT_ID> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) <' ('> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_tag) <'tag: A'> (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) <')'> (${ Id.VSub_Name c_reset) <' A\n'> ] ) ) ] do_fork: T ) (C {<test_expect_success>} {(SQ <'Commit Decorations Colored Correctly'>)} { (SQ <'\n'> <'\tgit log --first-parent --abbrev=10 --all --decorate --oneline --color=always |\n'> <'\tsed "s/[0-9a-f]\\{10,10\\}/COMMIT_ID/" >out &&\n'> <'\ttest_cmp expected out\n'> ) } ) (C {<test_done>}) ] )