(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 <'git pack-object --include-tag'>)}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'./test-lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TRASH='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TRASH='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TRASH='> name:TRASH)
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Simple
                    blame_tok: <pwd>
                    more_env: []
                    words: [{<pwd>}]
                    redirects: []
                    do_fork: T
                  )
                right: <Id.Eof_RParen _>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {<setup>}
        {
          (SQ <'\n'> <'\techo c >d &&\n'> <'\tgit update-index --add d &&\n'> 
            <'\ttree=$(git write-tree) &&\n'> <'\tcommit=$(git commit-tree $tree </dev/null) &&\n'> <'\techo "object $commit" >sig &&\n'> 
            <'\techo "type commit" >>sig &&\n'> <'\techo "tag mytag" >>sig &&\n'> <'\techo "tagger $(git var GIT_COMMITTER_IDENT)" >>sig &&\n'> 
            <'\techo >>sig &&\n'> <'\techo "our test tag" >>sig &&\n'> <'\ttag=$(git mktag <sig) &&\n'> <'\trm d sig &&\n'> 
            <'\tgit update-ref refs/tags/mytag $tag && {\n'> <'\t\techo $tree &&\n'> <'\t\techo $commit &&\n'> 
            <'\t\tgit ls-tree $tree | sed -e "s/.* \\\\([0-9a-f]*\\\\)\t.*/\\\\1/"\n'> <'\t} >obj-list\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'pack without --include-tag'>)}
        {
          (SQ <'\n'> <'\tpackname=$(git pack-objects \\\n'> <'\t\t--window=0 \\\n'> 
            <'\t\ttest-no-include <obj-list)\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'unpack objects'>)}
        {
          (SQ <'\n'> <'\trm -rf clone.git &&\n'> <'\tgit init clone.git &&\n'> 
            <'\tgit -C clone.git unpack-objects <test-no-include-${packname}.pack\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'check unpacked result (have commit, no tag)'>)}
        {
          (SQ <'\n'> <'\tgit rev-list --objects $commit >list.expect &&\n'> 
            <'\ttest_must_fail git -C clone.git cat-file -e $tag &&\n'> <'\tgit -C clone.git rev-list --objects $commit >list.actual &&\n'> 
            <'\ttest_cmp list.expect list.actual\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'pack with --include-tag'>)}
        {
          (SQ <'\n'> <'\tpackname=$(git pack-objects \\\n'> <'\t\t--window=0 \\\n'> 
            <'\t\t--include-tag \\\n'> <'\t\ttest-include <obj-list)\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'unpack objects'>)}
        {
          (SQ <'\n'> <'\trm -rf clone.git &&\n'> <'\tgit init clone.git &&\n'> 
            <'\tgit -C clone.git unpack-objects <test-include-${packname}.pack\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'check unpacked result (have commit, have tag)'>)}
        {
          (SQ <'\n'> <'\tgit rev-list --objects mytag >list.expect &&\n'> 
            <'\tgit -C clone.git rev-list --objects $tag >list.actual &&\n'> <'\ttest_cmp list.expect list.actual\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'create hidden inner tag'>)}
        {
          (SQ <'\n'> <'\ttest_commit commit &&\n'> <'\tgit tag -m inner inner HEAD &&\n'> 
            <'\tgit tag -m outer outer inner &&\n'> <'\tgit tag -d inner\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'pack explicit outer tag'>)}
        {
          (SQ <'\n'> <'\tpackname=$(\n'> <'\t\t{\n'> <'\t\t\techo HEAD &&\n'> <'\t\t\techo outer\n'> 
            <'\t\t} |\n'> <'\t\tgit pack-objects --revs test-hidden-explicit\n'> <'\t)\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'unpack objects'>)}
        {
          (SQ <'\n'> <'\trm -rf clone.git &&\n'> <'\tgit init clone.git &&\n'> 
            <'\tgit -C clone.git unpack-objects <test-hidden-explicit-${packname}.pack\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'check unpacked result (have all objects)'>)}
        {(SQ <'\n'> <'\tgit -C clone.git rev-list --objects $(git rev-parse outer HEAD)\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'pack implied outer tag'>)}
        {
          (SQ <'\n'> <'\tpackname=$(\n'> <'\t\techo HEAD |\n'> 
            <'\t\tgit pack-objects --revs --include-tag test-hidden-implied\n'> <'\t)\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'unpack objects'>)}
        {
          (SQ <'\n'> <'\trm -rf clone.git &&\n'> <'\tgit init clone.git &&\n'> 
            <'\tgit -C clone.git unpack-objects <test-hidden-implied-${packname}.pack\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'check unpacked result (have all objects)'>)}
        {(SQ <'\n'> <'\tgit -C clone.git rev-list --objects $(git rev-parse outer HEAD)\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'single-branch clone can transfer tag'>)}
        {
          (SQ <'\n'> <'\trm -rf clone.git &&\n'> 
            <'\tgit clone --no-local --single-branch -b master . clone.git &&\n'> <'\tgit -C clone.git fsck\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)