(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)})
  ]
)