(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'--show-all --parents does not rewrite TREESAME commits'>)}
          spids: [4]
        )
      ]
    )
    (C {<.>} {<'./test-lib.sh'>})
    (C {<test_expect_success>} {(SQ <'set up --show-all --parents test'>)} 
      {
        (SQ <'\n'> <'\ttest_commit one foo.txt &&\n'> <'\tcommit1=$(git rev-list -1 HEAD) &&\n'> 
          <'\ttest_commit two bar.txt &&\n'> <'\tcommit2=$(git rev-list -1 HEAD) &&\n'> <'\ttest_commit three foo.txt &&\n'> 
          <'\tcommit3=$(git rev-list -1 HEAD)\n'> <'\t'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'--parents rewrites TREESAME parents correctly'>)} 
      {
        (SQ <'\n'> <'\techo $commit3 $commit1 > expected &&\n'> <'\techo $commit1 >> expected &&\n'> 
          <'\tgit rev-list --parents HEAD -- foo.txt > actual &&\n'> <'\ttest_cmp expected actual\n'> <'\t'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'--parents --show-all does not rewrites TREESAME parents'>)} 
      {
        (SQ <'\n'> <'\techo $commit3 $commit2 > expected &&\n'> 
          <'\techo $commit2 $commit1 >> expected &&\n'> <'\techo $commit1 >> expected &&\n'> 
          <'\tgit rev-list --parents --show-all HEAD -- foo.txt > actual &&\n'> <'\ttest_cmp expected actual\n'> <'\t'>
        )
      }
    )
    (C {<test_done>})
  ]
)