(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'test_description='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'test_description='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'test_description='> name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'diff --dirstat tests'>)}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'./test-lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <setup>)}
        {
          (SQ <'\n'> <'\tmkdir unchanged &&\n'> <'\tmkdir changed &&\n'> <'\tmkdir rearranged &&\n'> 
            <'\tmkdir src &&\n'> <'\tmkdir src/copy &&\n'> <'\tmkdir src/copy/unchanged &&\n'> <'\tmkdir src/copy/changed &&\n'> 
            <'\tmkdir src/copy/rearranged &&\n'> <'\tmkdir src/move &&\n'> <'\tmkdir src/move/unchanged &&\n'> <'\tmkdir src/move/changed &&\n'> 
            <'\tmkdir src/move/rearranged &&\n'> <'\tcat <<EOF >unchanged/text &&\n'> <'unchanged       line #0\n'> <'unchanged       line #1\n'> 
            <'unchanged       line #2\n'> <'unchanged       line #3\n'> <'unchanged       line #4\n'> <'unchanged       line #5\n'> 
            <'unchanged       line #6\n'> <'unchanged       line #7\n'> <'unchanged       line #8\n'> <'unchanged       line #9\n'> <'EOF\n'> 
            <'\tcat <<EOF >changed/text &&\n'> <'changed         line #0\n'> <'changed         line #1\n'> <'changed         line #2\n'> 
            <'changed         line #3\n'> <'changed         line #4\n'> <'changed         line #5\n'> <'changed         line #6\n'> 
            <'changed         line #7\n'> <'changed         line #8\n'> <'changed         line #9\n'> <'EOF\n'> 
            <'\tcat <<EOF >rearranged/text &&\n'> <'rearranged      line #0\n'> <'rearranged      line #1\n'> <'rearranged      line #2\n'> 
            <'rearranged      line #3\n'> <'rearranged      line #4\n'> <'rearranged      line #5\n'> <'rearranged      line #6\n'> 
            <'rearranged      line #7\n'> <'rearranged      line #8\n'> <'rearranged      line #9\n'> <'EOF\n'> 
            <'\tcat <<EOF >src/copy/unchanged/text &&\n'> <'copy  unchanged line #0\n'> <'copy  unchanged line #1\n'> <'copy  unchanged line #2\n'> 
            <'copy  unchanged line #3\n'> <'copy  unchanged line #4\n'> <'copy  unchanged line #5\n'> <'copy  unchanged line #6\n'> 
            <'copy  unchanged line #7\n'> <'copy  unchanged line #8\n'> <'copy  unchanged line #9\n'> <'EOF\n'> 
            <'\tcat <<EOF >src/copy/changed/text &&\n'> <'copy    changed line #0\n'> <'copy    changed line #1\n'> <'copy    changed line #2\n'> 
            <'copy    changed line #3\n'> <'copy    changed line #4\n'> <'copy    changed line #5\n'> <'copy    changed line #6\n'> 
            <'copy    changed line #7\n'> <'copy    changed line #8\n'> <'copy    changed line #9\n'> <'EOF\n'> 
            <'\tcat <<EOF >src/copy/rearranged/text &&\n'> <'copy rearranged line #0\n'> <'copy rearranged line #1\n'> <'copy rearranged line #2\n'> 
            <'copy rearranged line #3\n'> <'copy rearranged line #4\n'> <'copy rearranged line #5\n'> <'copy rearranged line #6\n'> 
            <'copy rearranged line #7\n'> <'copy rearranged line #8\n'> <'copy rearranged line #9\n'> <'EOF\n'> 
            <'\tcat <<EOF >src/move/unchanged/text &&\n'> <'move  unchanged line #0\n'> <'move  unchanged line #1\n'> <'move  unchanged line #2\n'> 
            <'move  unchanged line #3\n'> <'move  unchanged line #4\n'> <'move  unchanged line #5\n'> <'move  unchanged line #6\n'> 
            <'move  unchanged line #7\n'> <'move  unchanged line #8\n'> <'move  unchanged line #9\n'> <'EOF\n'> 
            <'\tcat <<EOF >src/move/changed/text &&\n'> <'move    changed line #0\n'> <'move    changed line #1\n'> <'move    changed line #2\n'> 
            <'move    changed line #3\n'> <'move    changed line #4\n'> <'move    changed line #5\n'> <'move    changed line #6\n'> 
            <'move    changed line #7\n'> <'move    changed line #8\n'> <'move    changed line #9\n'> <'EOF\n'> 
            <'\tcat <<EOF >src/move/rearranged/text &&\n'> <'move rearranged line #0\n'> <'move rearranged line #1\n'> <'move rearranged line #2\n'> 
            <'move rearranged line #3\n'> <'move rearranged line #4\n'> <'move rearranged line #5\n'> <'move rearranged line #6\n'> 
            <'move rearranged line #7\n'> <'move rearranged line #8\n'> <'move rearranged line #9\n'> <'EOF\n'> <'\tgit add . &&\n'> 
            <'\tgit commit -m "initial" &&\n'> <'\tmkdir dst &&\n'> <'\tmkdir dst/copy &&\n'> <'\tmkdir dst/copy/unchanged &&\n'> 
            <'\tmkdir dst/copy/changed &&\n'> <'\tmkdir dst/copy/rearranged &&\n'> <'\tmkdir dst/move &&\n'> <'\tmkdir dst/move/unchanged &&\n'> 
            <'\tmkdir dst/move/changed &&\n'> <'\tmkdir dst/move/rearranged &&\n'> <'\tcat <<EOF >changed/text &&\n'> <'CHANGED XXXXXXX line #0\n'> 
            <'changed         line #1\n'> <'changed         line #2\n'> <'changed         line #3\n'> <'changed         line #4\n'> 
            <'changed         line #5\n'> <'changed         line #6\n'> <'changed         line #7\n'> <'changed         line #8\n'> 
            <'changed         line #9\n'> <'EOF\n'> <'\tcat <<EOF >rearranged/text &&\n'> <'rearranged      line #1\n'> 
            <'rearranged      line #0\n'> <'rearranged      line #2\n'> <'rearranged      line #3\n'> <'rearranged      line #4\n'> 
            <'rearranged      line #5\n'> <'rearranged      line #6\n'> <'rearranged      line #7\n'> <'rearranged      line #8\n'> 
            <'rearranged      line #9\n'> <'EOF\n'> <'\tcat <<EOF >dst/copy/unchanged/text &&\n'> <'copy  unchanged line #0\n'> 
            <'copy  unchanged line #1\n'> <'copy  unchanged line #2\n'> <'copy  unchanged line #3\n'> <'copy  unchanged line #4\n'> 
            <'copy  unchanged line #5\n'> <'copy  unchanged line #6\n'> <'copy  unchanged line #7\n'> <'copy  unchanged line #8\n'> 
            <'copy  unchanged line #9\n'> <'EOF\n'> <'\tcat <<EOF >dst/copy/changed/text &&\n'> <'copy XXXCHANGED line #0\n'> 
            <'copy    changed line #1\n'> <'copy    changed line #2\n'> <'copy    changed line #3\n'> <'copy    changed line #4\n'> 
            <'copy    changed line #5\n'> <'copy    changed line #6\n'> <'copy    changed line #7\n'> <'copy    changed line #8\n'> 
            <'copy    changed line #9\n'> <'EOF\n'> <'\tcat <<EOF >dst/copy/rearranged/text &&\n'> <'copy rearranged line #1\n'> 
            <'copy rearranged line #0\n'> <'copy rearranged line #2\n'> <'copy rearranged line #3\n'> <'copy rearranged line #4\n'> 
            <'copy rearranged line #5\n'> <'copy rearranged line #6\n'> <'copy rearranged line #7\n'> <'copy rearranged line #8\n'> 
            <'copy rearranged line #9\n'> <'EOF\n'> <'\tcat <<EOF >dst/move/unchanged/text &&\n'> <'move  unchanged line #0\n'> 
            <'move  unchanged line #1\n'> <'move  unchanged line #2\n'> <'move  unchanged line #3\n'> <'move  unchanged line #4\n'> 
            <'move  unchanged line #5\n'> <'move  unchanged line #6\n'> <'move  unchanged line #7\n'> <'move  unchanged line #8\n'> 
            <'move  unchanged line #9\n'> <'EOF\n'> <'\tcat <<EOF >dst/move/changed/text &&\n'> <'move XXXCHANGED line #0\n'> 
            <'move    changed line #1\n'> <'move    changed line #2\n'> <'move    changed line #3\n'> <'move    changed line #4\n'> 
            <'move    changed line #5\n'> <'move    changed line #6\n'> <'move    changed line #7\n'> <'move    changed line #8\n'> 
            <'move    changed line #9\n'> <'EOF\n'> <'\tcat <<EOF >dst/move/rearranged/text &&\n'> <'move rearranged line #1\n'> 
            <'move rearranged line #0\n'> <'move rearranged line #2\n'> <'move rearranged line #3\n'> <'move rearranged line #4\n'> 
            <'move rearranged line #5\n'> <'move rearranged line #6\n'> <'move rearranged line #7\n'> <'move rearranged line #8\n'> 
            <'move rearranged line #9\n'> <'EOF\n'> <'\tgit add . &&\n'> <'\tgit rm -r src/move/unchanged &&\n'> 
            <'\tgit rm -r src/move/changed &&\n'> <'\tgit rm -r src/move/rearranged &&\n'> <'\tgit commit -m "changes" &&\n'> 
            <'\tgit config diff.renames false\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'1\t1\tchanged/text\n'>
                <'10\t0\tdst/copy/changed/text\n'>
                <'10\t0\tdst/copy/rearranged/text\n'>
                <'10\t0\tdst/copy/unchanged/text\n'>
                <'10\t0\tdst/move/changed/text\n'>
                <'10\t0\tdst/move/rearranged/text\n'>
                <'10\t0\tdst/move/unchanged/text\n'>
                <'1\t1\trearranged/text\n'>
                <'0\t10\tsrc/move/changed/text\n'>
                <'0\t10\tsrc/move/rearranged/text\n'>
                <'0\t10\tsrc/move/unchanged/text\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_stat>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'1\t1\tchanged/text\n'>
                <'10\t0\tdst/copy/changed/text\n'>
                <'10\t0\tdst/copy/rearranged/text\n'>
                <'10\t0\tdst/copy/unchanged/text\n'>
                <'1\t1\t{src => dst}/move/changed/text\n'>
                <'1\t1\t{src => dst}/move/rearranged/text\n'>
                <'0\t0\t{src => dst}/move/unchanged/text\n'>
                <'1\t1\trearranged/text\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_stat_M>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'1\t1\tchanged/text\n'>
                <'1\t1\t{src => dst}/copy/changed/text\n'>
                <'1\t1\t{src => dst}/copy/rearranged/text\n'>
                <'0\t0\t{src => dst}/copy/unchanged/text\n'>
                <'1\t1\t{src => dst}/move/changed/text\n'>
                <'1\t1\t{src => dst}/move/rearranged/text\n'>
                <'0\t0\t{src => dst}/move/unchanged/text\n'>
                <'1\t1\trearranged/text\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_stat_CC>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'sanity check setup (--numstat)'>)}
        {
          (SQ <'\n'> <'\tgit diff --numstat HEAD^..HEAD >actual_diff_stat &&\n'> 
            <'\ttest_cmp expect_diff_stat actual_diff_stat &&\n'> <'\tgit diff --numstat -M HEAD^..HEAD >actual_diff_stat_M &&\n'> 
            <'\ttest_cmp expect_diff_stat_M actual_diff_stat_M &&\n'> <'\tgit diff --numstat -C -C HEAD^..HEAD >actual_diff_stat_CC &&\n'> 
            <'\ttest_cmp expect_diff_stat_CC actual_diff_stat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  10.8% dst/copy/changed/\n'>
                <'  10.8% dst/copy/rearranged/\n'>
                <'  10.8% dst/copy/unchanged/\n'>
                <'  10.8% dst/move/changed/\n'>
                <'  10.8% dst/move/rearranged/\n'>
                <'  10.8% dst/move/unchanged/\n'>
                <'  10.8% src/move/changed/\n'>
                <'  10.8% src/move/rearranged/\n'>
                <'  10.8% src/move/unchanged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'   5.8% changed/\n'>
                <'  29.3% dst/copy/changed/\n'>
                <'  29.3% dst/copy/rearranged/\n'>
                <'  29.3% dst/copy/unchanged/\n'>
                <'   5.8% dst/move/changed/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_M>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  32.6% changed/\n'>
                <'  32.6% dst/copy/changed/\n'>
                <'  32.6% dst/move/changed/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_CC>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'various ways to misspell --dirstat'>)}
        {
          (SQ <'\n'> <'\ttest_must_fail git show --dirstat10 &&\n'> 
            <'\ttest_must_fail git show --dirstat10,files &&\n'> <'\ttest_must_fail git show -X=20 &&\n'> <'\ttest_must_fail git show -X=20,cumulative\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'vanilla --dirstat'>)}
        {
          (SQ <'\n'> <'\tgit diff --dirstat HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit diff --dirstat -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit diff --dirstat -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'vanilla -X'>)}
        {
          (SQ <'\n'> <'\tgit diff -X HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit diff -X -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit diff -X -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'explicit defaults: --dirstat=changes,noncumulative,3'>)}
        {
          (SQ <'\n'> 
            <'\tgit diff --dirstat=changes,noncumulative,3 HEAD^..HEAD >actual_diff_dirstat &&\n'> <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit diff --dirstat=changes,noncumulative,3 -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit diff --dirstat=changes,noncumulative,3 -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'explicit defaults: -Xchanges,noncumulative,3'>)}
        {
          (SQ <'\n'> <'\tgit diff -Xchanges,noncumulative,3 HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit diff -Xchanges,noncumulative,3 -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit diff -Xchanges,noncumulative,3 -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'later options override earlier options:'>)}
        {
          (SQ <'\n'> 
            <
'\tgit diff --dirstat=files,10,cumulative,changes,noncumulative,3 HEAD^..HEAD >actual_diff_dirstat &&\n'
            > <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit diff --dirstat=files,10,cumulative,changes,noncumulative,3 -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit diff --dirstat=files,10,cumulative,changes,noncumulative,3 -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC &&\n'> 
            <
'\tgit diff --dirstat=files --dirstat=10 --dirstat=cumulative --dirstat=changes --dirstat=noncumulative -X3 HEAD^..HEAD >actual_diff_dirstat &&\n'
            > <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit diff --dirstat=files --dirstat=10 --dirstat=cumulative --dirstat=changes --dirstat=noncumulative -X3 -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit diff --dirstat=files --dirstat=10 --dirstat=cumulative --dirstat=changes --dirstat=noncumulative -X3 -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'non-defaults in config overridden by explicit defaults on command line'>)}
        {
          (SQ <'\n'> 
            <
'\tgit -c diff.dirstat=files,cumulative,50 diff --dirstat=changes,noncumulative,3 HEAD^..HEAD >actual_diff_dirstat &&\n'
            > <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit -c diff.dirstat=files,cumulative,50 diff --dirstat=changes,noncumulative,3 -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit -c diff.dirstat=files,cumulative,50 diff --dirstat=changes,noncumulative,3 -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'   2.1% changed/\n'>
                <'  10.8% dst/copy/changed/\n'>
                <'  10.8% dst/copy/rearranged/\n'>
                <'  10.8% dst/copy/unchanged/\n'>
                <'  10.8% dst/move/changed/\n'>
                <'  10.8% dst/move/rearranged/\n'>
                <'  10.8% dst/move/unchanged/\n'>
                <'   0.0% rearranged/\n'>
                <'  10.8% src/move/changed/\n'>
                <'  10.8% src/move/rearranged/\n'>
                <'  10.8% src/move/unchanged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'   5.8% changed/\n'>
                <'  29.3% dst/copy/changed/\n'>
                <'  29.3% dst/copy/rearranged/\n'>
                <'  29.3% dst/copy/unchanged/\n'>
                <'   5.8% dst/move/changed/\n'>
                <'   0.1% dst/move/rearranged/\n'>
                <'   0.1% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_M>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  32.6% changed/\n'>
                <'  32.6% dst/copy/changed/\n'>
                <'   0.6% dst/copy/rearranged/\n'>
                <'  32.6% dst/move/changed/\n'>
                <'   0.6% dst/move/rearranged/\n'>
                <'   0.6% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_CC>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat=0'>)}
        {
          (SQ <'\n'> <'\tgit diff --dirstat=0 HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit diff --dirstat=0 -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit diff --dirstat=0 -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <-X0>)}
        {
          (SQ <'\n'> <'\tgit diff -X0 HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit diff -X0 -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit diff -X0 -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'diff.dirstat=0'>)}
        {
          (SQ <'\n'> <'\tgit -c diff.dirstat=0 diff --dirstat HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit -c diff.dirstat=0 diff --dirstat -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit -c diff.dirstat=0 diff --dirstat -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'   2.1% changed/\n'>
                <'  10.8% dst/copy/changed/\n'>
                <'  10.8% dst/copy/rearranged/\n'>
                <'  10.8% dst/copy/unchanged/\n'>
                <'  32.5% dst/copy/\n'>
                <'  10.8% dst/move/changed/\n'>
                <'  10.8% dst/move/rearranged/\n'>
                <'  10.8% dst/move/unchanged/\n'>
                <'  32.5% dst/move/\n'>
                <'  65.1% dst/\n'>
                <'   0.0% rearranged/\n'>
                <'  10.8% src/move/changed/\n'>
                <'  10.8% src/move/rearranged/\n'>
                <'  10.8% src/move/unchanged/\n'>
                <'  32.5% src/move/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'   5.8% changed/\n'>
                <'  29.3% dst/copy/changed/\n'>
                <'  29.3% dst/copy/rearranged/\n'>
                <'  29.3% dst/copy/unchanged/\n'>
                <'  88.0% dst/copy/\n'>
                <'   5.8% dst/move/changed/\n'>
                <'   0.1% dst/move/rearranged/\n'>
                <'   5.9% dst/move/\n'>
                <'  94.0% dst/\n'>
                <'   0.1% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_M>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  32.6% changed/\n'>
                <'  32.6% dst/copy/changed/\n'>
                <'   0.6% dst/copy/rearranged/\n'>
                <'  33.3% dst/copy/\n'>
                <'  32.6% dst/move/changed/\n'>
                <'   0.6% dst/move/rearranged/\n'>
                <'  33.3% dst/move/\n'>
                <'  66.6% dst/\n'>
                <'   0.6% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_CC>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat=0 --cumulative'>)}
        {
          (SQ <'\n'> <'\tgit diff --dirstat=0 --cumulative HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit diff --dirstat=0 --cumulative -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit diff --dirstat=0 --cumulative -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat=0,cumulative'>)}
        {
          (SQ <'\n'> <'\tgit diff --dirstat=0,cumulative HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit diff --dirstat=0,cumulative -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit diff --dirstat=0,cumulative -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'-X0,cumulative'>)}
        {
          (SQ <'\n'> <'\tgit diff -X0,cumulative HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit diff -X0,cumulative -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit diff -X0,cumulative -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'diff.dirstat=0,cumulative'>)}
        {
          (SQ <'\n'> 
            <
'\tgit -c diff.dirstat=0,cumulative diff --dirstat HEAD^..HEAD >actual_diff_dirstat &&\n'
            > <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit -c diff.dirstat=0,cumulative diff --dirstat -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit -c diff.dirstat=0,cumulative diff --dirstat -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'diff.dirstat=0 & --dirstat=cumulative'>)}
        {
          (SQ <'\n'> 
            <
'\tgit -c diff.dirstat=0 diff --dirstat=cumulative HEAD^..HEAD >actual_diff_dirstat &&\n'
            > <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit -c diff.dirstat=0 diff --dirstat=cumulative -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit -c diff.dirstat=0 diff --dirstat=cumulative -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'   9.0% changed/\n'>
                <'   9.0% dst/copy/changed/\n'>
                <'   9.0% dst/copy/rearranged/\n'>
                <'   9.0% dst/copy/unchanged/\n'>
                <'   9.0% dst/move/changed/\n'>
                <'   9.0% dst/move/rearranged/\n'>
                <'   9.0% dst/move/unchanged/\n'>
                <'   9.0% rearranged/\n'>
                <'   9.0% src/move/changed/\n'>
                <'   9.0% src/move/rearranged/\n'>
                <'   9.0% src/move/unchanged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  14.2% changed/\n'>
                <'  14.2% dst/copy/changed/\n'>
                <'  14.2% dst/copy/rearranged/\n'>
                <'  14.2% dst/copy/unchanged/\n'>
                <'  14.2% dst/move/changed/\n'>
                <'  14.2% dst/move/rearranged/\n'>
                <'  14.2% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_M>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  16.6% changed/\n'>
                <'  16.6% dst/copy/changed/\n'>
                <'  16.6% dst/copy/rearranged/\n'>
                <'  16.6% dst/move/changed/\n'>
                <'  16.6% dst/move/rearranged/\n'>
                <'  16.6% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_CC>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <--dirstat-by-file>)}
        {
          (SQ <'\n'> <'\tgit diff --dirstat-by-file HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit diff --dirstat-by-file -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit diff --dirstat-by-file -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat=files'>)}
        {
          (SQ <'\n'> <'\tgit diff --dirstat=files HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit diff --dirstat=files -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit diff --dirstat=files -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'diff.dirstat=files'>)}
        {
          (SQ <'\n'> 
            <'\tgit -c diff.dirstat=files diff --dirstat HEAD^..HEAD >actual_diff_dirstat &&\n'> <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit -c diff.dirstat=files diff --dirstat -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit -c diff.dirstat=files diff --dirstat -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [<'  27.2% dst/copy/\n'> <'  27.2% dst/move/\n'> <'  27.2% src/move/\n'>]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  14.2% changed/\n'>
                <'  14.2% dst/copy/changed/\n'>
                <'  14.2% dst/copy/rearranged/\n'>
                <'  14.2% dst/copy/unchanged/\n'>
                <'  14.2% dst/move/changed/\n'>
                <'  14.2% dst/move/rearranged/\n'>
                <'  14.2% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_M>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  16.6% changed/\n'>
                <'  16.6% dst/copy/changed/\n'>
                <'  16.6% dst/copy/rearranged/\n'>
                <'  16.6% dst/move/changed/\n'>
                <'  16.6% dst/move/rearranged/\n'>
                <'  16.6% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_CC>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat-by-file=10'>)}
        {
          (SQ <'\n'> <'\tgit diff --dirstat-by-file=10 HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit diff --dirstat-by-file=10 -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit diff --dirstat-by-file=10 -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat=files,10'>)}
        {
          (SQ <'\n'> <'\tgit diff --dirstat=files,10 HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit diff --dirstat=files,10 -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit diff --dirstat=files,10 -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'diff.dirstat=10,files'>)}
        {
          (SQ <'\n'> 
            <'\tgit -c diff.dirstat=10,files diff --dirstat HEAD^..HEAD >actual_diff_dirstat &&\n'> <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit -c diff.dirstat=10,files diff --dirstat -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit -c diff.dirstat=10,files diff --dirstat -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'   9.0% changed/\n'>
                <'   9.0% dst/copy/changed/\n'>
                <'   9.0% dst/copy/rearranged/\n'>
                <'   9.0% dst/copy/unchanged/\n'>
                <'  27.2% dst/copy/\n'>
                <'   9.0% dst/move/changed/\n'>
                <'   9.0% dst/move/rearranged/\n'>
                <'   9.0% dst/move/unchanged/\n'>
                <'  27.2% dst/move/\n'>
                <'  54.5% dst/\n'>
                <'   9.0% rearranged/\n'>
                <'   9.0% src/move/changed/\n'>
                <'   9.0% src/move/rearranged/\n'>
                <'   9.0% src/move/unchanged/\n'>
                <'  27.2% src/move/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  14.2% changed/\n'>
                <'  14.2% dst/copy/changed/\n'>
                <'  14.2% dst/copy/rearranged/\n'>
                <'  14.2% dst/copy/unchanged/\n'>
                <'  42.8% dst/copy/\n'>
                <'  14.2% dst/move/changed/\n'>
                <'  14.2% dst/move/rearranged/\n'>
                <'  28.5% dst/move/\n'>
                <'  71.4% dst/\n'>
                <'  14.2% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_M>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  16.6% changed/\n'>
                <'  16.6% dst/copy/changed/\n'>
                <'  16.6% dst/copy/rearranged/\n'>
                <'  33.3% dst/copy/\n'>
                <'  16.6% dst/move/changed/\n'>
                <'  16.6% dst/move/rearranged/\n'>
                <'  33.3% dst/move/\n'>
                <'  66.6% dst/\n'>
                <'  16.6% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_CC>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat-by-file --cumulative'>)}
        {
          (SQ <'\n'> 
            <'\tgit diff --dirstat-by-file --cumulative HEAD^..HEAD >actual_diff_dirstat &&\n'> <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <'\tgit diff --dirstat-by-file --cumulative -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit diff --dirstat-by-file --cumulative -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat=files,cumulative'>)}
        {
          (SQ <'\n'> <'\tgit diff --dirstat=files,cumulative HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit diff --dirstat=files,cumulative -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit diff --dirstat=files,cumulative -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'diff.dirstat=cumulative,files'>)}
        {
          (SQ <'\n'> 
            <
'\tgit -c diff.dirstat=cumulative,files diff --dirstat HEAD^..HEAD >actual_diff_dirstat &&\n'
            > <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit -c diff.dirstat=cumulative,files diff --dirstat -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit -c diff.dirstat=cumulative,files diff --dirstat -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  27.2% dst/copy/\n'>
                <'  27.2% dst/move/\n'>
                <'  54.5% dst/\n'>
                <'  27.2% src/move/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  14.2% changed/\n'>
                <'  14.2% dst/copy/changed/\n'>
                <'  14.2% dst/copy/rearranged/\n'>
                <'  14.2% dst/copy/unchanged/\n'>
                <'  42.8% dst/copy/\n'>
                <'  14.2% dst/move/changed/\n'>
                <'  14.2% dst/move/rearranged/\n'>
                <'  28.5% dst/move/\n'>
                <'  71.4% dst/\n'>
                <'  14.2% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_M>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  16.6% changed/\n'>
                <'  16.6% dst/copy/changed/\n'>
                <'  16.6% dst/copy/rearranged/\n'>
                <'  33.3% dst/copy/\n'>
                <'  16.6% dst/move/changed/\n'>
                <'  16.6% dst/move/rearranged/\n'>
                <'  33.3% dst/move/\n'>
                <'  66.6% dst/\n'>
                <'  16.6% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_CC>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat=files,cumulative,10'>)}
        {
          (SQ <'\n'> 
            <'\tgit diff --dirstat=files,cumulative,10 HEAD^..HEAD >actual_diff_dirstat &&\n'> <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <'\tgit diff --dirstat=files,cumulative,10 -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit diff --dirstat=files,cumulative,10 -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'diff.dirstat=10,cumulative,files'>)}
        {
          (SQ <'\n'> 
            <
'\tgit -c diff.dirstat=10,cumulative,files diff --dirstat HEAD^..HEAD >actual_diff_dirstat &&\n'
            > <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit -c diff.dirstat=10,cumulative,files diff --dirstat -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit -c diff.dirstat=10,cumulative,files diff --dirstat -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  27.2% dst/copy/\n'>
                <'  27.2% dst/move/\n'>
                <'  54.5% dst/\n'>
                <'  27.2% src/move/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [<'  42.8% dst/copy/\n'> <'  28.5% dst/move/\n'> <'  71.4% dst/\n'>]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_M>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [<'  33.3% dst/copy/\n'> <'  33.3% dst/move/\n'> <'  66.6% dst/\n'>]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_CC>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat=files,cumulative,16.7'>)}
        {
          (SQ <'\n'> 
            <'\tgit diff --dirstat=files,cumulative,16.7 HEAD^..HEAD >actual_diff_dirstat &&\n'> <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit diff --dirstat=files,cumulative,16.7 -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit diff --dirstat=files,cumulative,16.7 -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'diff.dirstat=16.7,cumulative,files'>)}
        {
          (SQ <'\n'> 
            <
'\tgit -c diff.dirstat=16.7,cumulative,files diff --dirstat HEAD^..HEAD >actual_diff_dirstat &&\n'
            > <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit -c diff.dirstat=16.7,cumulative,files diff --dirstat -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit -c diff.dirstat=16.7,cumulative,files diff --dirstat -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'diff.dirstat=16.70,cumulative,files'>)}
        {
          (SQ <'\n'> 
            <
'\tgit -c diff.dirstat=16.70,cumulative,files diff --dirstat HEAD^..HEAD >actual_diff_dirstat &&\n'
            > <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit -c diff.dirstat=16.70,cumulative,files diff --dirstat -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit -c diff.dirstat=16.70,cumulative,files diff --dirstat -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat=files,cumulative,27.2'>)}
        {
          (SQ <'\n'> 
            <'\tgit diff --dirstat=files,cumulative,27.2 HEAD^..HEAD >actual_diff_dirstat &&\n'> <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit diff --dirstat=files,cumulative,27.2 -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit diff --dirstat=files,cumulative,27.2 -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat=files,cumulative,27.09'>)}
        {
          (SQ <'\n'> 
            <'\tgit diff --dirstat=files,cumulative,27.09 HEAD^..HEAD >actual_diff_dirstat &&\n'> <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit diff --dirstat=files,cumulative,27.09 -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit diff --dirstat=files,cumulative,27.09 -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  10.6% dst/copy/changed/\n'>
                <'  10.6% dst/copy/rearranged/\n'>
                <'  10.6% dst/copy/unchanged/\n'>
                <'  10.6% dst/move/changed/\n'>
                <'  10.6% dst/move/rearranged/\n'>
                <'  10.6% dst/move/unchanged/\n'>
                <'  10.6% src/move/changed/\n'>
                <'  10.6% src/move/rearranged/\n'>
                <'  10.6% src/move/unchanged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'   5.2% changed/\n'>
                <'  26.3% dst/copy/changed/\n'>
                <'  26.3% dst/copy/rearranged/\n'>
                <'  26.3% dst/copy/unchanged/\n'>
                <'   5.2% dst/move/changed/\n'>
                <'   5.2% dst/move/rearranged/\n'>
                <'   5.2% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_M>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  16.6% changed/\n'>
                <'  16.6% dst/copy/changed/\n'>
                <'  16.6% dst/copy/rearranged/\n'>
                <'  16.6% dst/move/changed/\n'>
                <'  16.6% dst/move/rearranged/\n'>
                <'  16.6% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_CC>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat=lines'>)}
        {
          (SQ <'\n'> <'\tgit diff --dirstat=lines HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit diff --dirstat=lines -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit diff --dirstat=lines -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'diff.dirstat=lines'>)}
        {
          (SQ <'\n'> 
            <'\tgit -c diff.dirstat=lines diff --dirstat HEAD^..HEAD >actual_diff_dirstat &&\n'> <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit -c diff.dirstat=lines diff --dirstat -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit -c diff.dirstat=lines diff --dirstat -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'   2.1% changed/\n'>
                <'  10.6% dst/copy/changed/\n'>
                <'  10.6% dst/copy/rearranged/\n'>
                <'  10.6% dst/copy/unchanged/\n'>
                <'  10.6% dst/move/changed/\n'>
                <'  10.6% dst/move/rearranged/\n'>
                <'  10.6% dst/move/unchanged/\n'>
                <'   2.1% rearranged/\n'>
                <'  10.6% src/move/changed/\n'>
                <'  10.6% src/move/rearranged/\n'>
                <'  10.6% src/move/unchanged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'   5.2% changed/\n'>
                <'  26.3% dst/copy/changed/\n'>
                <'  26.3% dst/copy/rearranged/\n'>
                <'  26.3% dst/copy/unchanged/\n'>
                <'   5.2% dst/move/changed/\n'>
                <'   5.2% dst/move/rearranged/\n'>
                <'   5.2% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_M>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'  16.6% changed/\n'>
                <'  16.6% dst/copy/changed/\n'>
                <'  16.6% dst/copy/rearranged/\n'>
                <'  16.6% dst/move/changed/\n'>
                <'  16.6% dst/move/rearranged/\n'>
                <'  16.6% rearranged/\n'>
              ]
            )
        )
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_diff_dirstat_CC>})
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat=lines,0'>)}
        {
          (SQ <'\n'> <'\tgit diff --dirstat=lines,0 HEAD^..HEAD >actual_diff_dirstat &&\n'> 
            <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> <'\tgit diff --dirstat=lines,0 -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\tgit diff --dirstat=lines,0 -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'diff.dirstat=0,lines'>)}
        {
          (SQ <'\n'> 
            <'\tgit -c diff.dirstat=0,lines diff --dirstat HEAD^..HEAD >actual_diff_dirstat &&\n'> <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <
'\tgit -c diff.dirstat=0,lines diff --dirstat -M HEAD^..HEAD >actual_diff_dirstat_M &&\n'
            > <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> 
            <
'\tgit -c diff.dirstat=0,lines diff --dirstat -C -C HEAD^..HEAD >actual_diff_dirstat_CC &&\n'
            > <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat=future_param,lines,0 should fail loudly'>)}
        {
          (SQ <'\n'> 
            <
'\ttest_must_fail git diff --dirstat=future_param,lines,0 HEAD^..HEAD >actual_diff_dirstat 2>actual_error &&\n'
            > <'\ttest_debug "cat actual_error" &&\n'> <'\ttest_cmp /dev/null actual_diff_dirstat &&\n'> 
            <'\ttest_i18ngrep -q "future_param" actual_error &&\n'> <'\ttest_i18ngrep -q "\\--dirstat" actual_error\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--dirstat=dummy1,cumulative,2dummy should report both unrecognized parameters'>)}
        {
          (SQ <'\n'> 
            <
'\ttest_must_fail git diff --dirstat=dummy1,cumulative,2dummy HEAD^..HEAD >actual_diff_dirstat 2>actual_error &&\n'
            > <'\ttest_debug "cat actual_error" &&\n'> <'\ttest_cmp /dev/null actual_diff_dirstat &&\n'> 
            <'\ttest_i18ngrep -q "dummy1" actual_error &&\n'> <'\ttest_i18ngrep -q "2dummy" actual_error &&\n'> <'\ttest_i18ngrep -q "\\--dirstat" actual_error\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'diff.dirstat=future_param,0,lines should warn, but still work'>)}
        {
          (SQ <'\n'> 
            <
'\tgit -c diff.dirstat=future_param,0,lines diff --dirstat HEAD^..HEAD >actual_diff_dirstat 2>actual_error &&\n'
            > <'\ttest_debug "cat actual_error" &&\n'> <'\ttest_cmp expect_diff_dirstat actual_diff_dirstat &&\n'> 
            <'\ttest_i18ngrep -q "future_param" actual_error &&\n'> <'\ttest_i18ngrep -q "diff\\\\.dirstat" actual_error &&\n'> <'\n'> 
            <
'\tgit -c diff.dirstat=future_param,0,lines diff --dirstat -M HEAD^..HEAD >actual_diff_dirstat_M 2>actual_error &&\n'
            > <'\ttest_debug "cat actual_error" &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_M actual_diff_dirstat_M &&\n'> <'\ttest_i18ngrep -q "future_param" actual_error &&\n'> 
            <'\ttest_i18ngrep -q "diff\\\\.dirstat" actual_error &&\n'> <'\n'> 
            <
'\tgit -c diff.dirstat=future_param,0,lines diff --dirstat -C -C HEAD^..HEAD >actual_diff_dirstat_CC 2>actual_error &&\n'
            > <'\ttest_debug "cat actual_error" &&\n'> 
            <'\ttest_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC &&\n'> <'\ttest_i18ngrep -q "future_param" actual_error &&\n'> 
            <'\ttest_i18ngrep -q "diff\\\\.dirstat" actual_error\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--shortstat --dirstat should output only one dirstat'>)}
        {
          (SQ <'\n'> <'\tgit diff --shortstat --dirstat=changes HEAD^..HEAD >out &&\n'> 
            <'\tgrep " dst/copy/changed/$" out >actual_diff_shortstat_dirstat_changes &&\n'> <'\ttest_line_count = 1 actual_diff_shortstat_dirstat_changes &&\n'> <'\n'> 
            <'\tgit diff --shortstat --dirstat=lines HEAD^..HEAD >out &&\n'> <'\tgrep " dst/copy/changed/$" out >actual_diff_shortstat_dirstat_lines &&\n'> 
            <'\ttest_line_count = 1 actual_diff_shortstat_dirstat_lines &&\n'> <'\n'> <'\tgit diff --shortstat --dirstat=files HEAD^..HEAD >out &&\n'> 
            <'\tgrep " dst/copy/changed/$" out >actual_diff_shortstat_dirstat_files &&\n'> <'\ttest_line_count = 1 actual_diff_shortstat_dirstat_files\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)