(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: 
            {
              (SQ <'Test submodules on detached working tree\n'> <'\n'> 
                <
'This test verifies that "git submodule" initialization, update and addition works\n'
                > <'on detahced working trees\n'>
              )
            }
          spids: [13]
        )
      ]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TEST_NO_CREATE_REPO) op:Equal rhs:{(1)} spids:[22])]
      spids: [22]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ <'submodule on detached working tree'>)} 
      {
        (SQ <'\n'> <'\tgit init --bare remote &&\n'> <'\ttest_create_repo bundle1 &&\n'> <'\t(\n'> 
          <'\t\tcd bundle1 &&\n'> <'\t\ttest_commit "shoot" &&\n'> <'\t\tgit rev-parse --verify HEAD >../expect\n'> <'\t) &&\n'> 
          <'\tmkdir home &&\n'> <'\t(\n'> <'\t\tcd home &&\n'> <'\t\tGIT_WORK_TREE="$(pwd)" &&\n'> 
          <'\t\tGIT_DIR="$(pwd)/.dotfiles" &&\n'> <'\t\texport GIT_WORK_TREE GIT_DIR &&\n'> <'\t\tgit clone --bare ../remote .dotfiles &&\n'> 
          <'\t\tgit submodule add ../bundle1 .vim/bundle/sogood &&\n'> <'\t\ttest_commit "sogood" &&\n'> <'\t\t(\n'> <'\t\t\tunset GIT_WORK_TREE GIT_DIR &&\n'> 
          <'\t\t\tcd .vim/bundle/sogood &&\n'> <'\t\t\tgit rev-parse --verify HEAD >actual &&\n'> <'\t\t\ttest_cmp ../../../../expect actual\n'> 
          <'\t\t) &&\n'> <'\t\tgit push origin master\n'> <'\t) &&\n'> <'\tmkdir home2 &&\n'> <'\t(\n'> <'\t\tcd home2 &&\n'> 
          <'\t\tgit clone --bare ../remote .dotfiles &&\n'> <'\t\tGIT_WORK_TREE="$(pwd)" &&\n'> <'\t\tGIT_DIR="$(pwd)/.dotfiles" &&\n'> 
          <'\t\texport GIT_WORK_TREE GIT_DIR &&\n'> <'\t\tgit checkout master &&\n'> <'\t\tgit submodule update --init &&\n'> <'\t\t(\n'> 
          <'\t\t\tunset GIT_WORK_TREE GIT_DIR &&\n'> <'\t\t\tcd .vim/bundle/sogood &&\n'> <'\t\t\tgit rev-parse --verify HEAD >actual &&\n'> 
          <'\t\t\ttest_cmp ../../../../expect actual\n'> <'\t\t)\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'submodule on detached working pointed by core.worktree'>)} 
      {
        (SQ <'\n'> <'\tmkdir home3 &&\n'> <'\t(\n'> <'\t\tcd home3 &&\n'> 
          <'\t\tGIT_DIR="$(pwd)/.dotfiles" &&\n'> <'\t\texport GIT_DIR &&\n'> <'\t\tgit clone --bare ../remote "$GIT_DIR" &&\n'> 
          <'\t\tgit config core.bare false &&\n'> <'\t\tgit config core.worktree .. &&\n'> <'\t\tgit checkout master &&\n'> 
          <'\t\tgit submodule add ../bundle1 .vim/bundle/dupe &&\n'> <'\t\ttest_commit "dupe" &&\n'> <'\t\tgit push origin master\n'> <'\t) &&\n'> <'\t(\n'> 
          <'\t\tcd home &&\n'> <'\t\tGIT_DIR="$(pwd)/.dotfiles" &&\n'> <'\t\texport GIT_DIR &&\n'> 
          <'\t\tgit config core.bare false &&\n'> <'\t\tgit config core.worktree .. &&\n'> <'\t\tgit pull &&\n'> <'\t\tgit submodule update --init &&\n'> 
          <'\t\ttest -f .vim/bundle/dupe/shoot.t\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_done)})
  ]
)