(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <"git-pack-object with missing base\n"> <"\n">)}
          spids: [13]
        )
      ]
      spids: [13]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ <"setup base">)} 
      {
        (SQ <"for a in a b c d e f g h i; do echo $a >>text; done &&\n"> <"     echo side >side &&\n"> 
          <"     git update-index --add text side &&\n"> <"     A=$(echo A | git commit-tree $(git write-tree)) &&\n"> <"\n"> <"     echo m >>text &&\n"> 
          <"     git update-index text &&\n"> <"     B=$(echo B | git commit-tree $(git write-tree) -p $A) &&\n"> <"     git update-ref HEAD $B\n"> 
          <"    ">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"setup patch_clone">)} 
      {
        (SQ <"base_objects=$(pwd)/.git/objects &&\n"> <"     (mkdir patch_clone &&\n"> 
          <"      cd patch_clone &&\n"> <"      git init &&\n"> <"      echo \"$base_objects\" >.git/objects/info/alternates &&\n"> 
          <"      echo q >>text &&\n"> <"      git read-tree $B &&\n"> <"      git update-index text &&\n"> 
          <"      git update-ref HEAD $(echo C | git commit-tree $(git write-tree) -p $B) &&\n"> <"      rm .git/objects/info/alternates &&\n"> <"\n"> 
          <"      git --git-dir=../.git cat-file commit $B |\n"> <"      git hash-object -t commit -w --stdin &&\n"> <"\n"> 
          <"      git --git-dir=../.git cat-file tree \"$B^{tree}\" |\n"> <"      git hash-object -t tree -w --stdin\n"> <"     ) &&\n"> 
          <"     C=$(git --git-dir=patch_clone/.git rev-parse HEAD)\n"> <"    ">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"indirectly clone patch_clone">)} 
      {
        (SQ <"(mkdir user_clone &&\n"> <"      cd user_clone &&\n"> <"      git init &&\n"> 
          <"      git pull ../.git &&\n"> <"      test $(git rev-parse HEAD) = $B &&\n"> <"\n"> <"      git pull ../patch_clone/.git &&\n"> 
          <"      test $(git rev-parse HEAD) = $C\n"> <"     )\n"> <"    ">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"clone of patch_clone is incomplete">)} 
      {
        (SQ <"(mkdir user_direct &&\n"> <"      cd user_direct &&\n"> <"      git init &&\n"> 
          <"      test_must_fail git fetch ../patch_clone/.git\n"> <"     )\n"> <"    ">
        )
      }
    )
    (C {(test_done)})
  ]
)