title: Git submodule checkout error: "fatal: reference is not a tree"
body: <p>For reference, see the issue <a href="https://github.com/drmeister/clasp/issues/98" rel="nofollow">https://github.com/drmeister/clasp/issues/98</a></p>
  
  <p>To reproduce, do the following:</p>
  
  <pre><code>git clone git://github.com/drmeister/clasp claspcl
  cd claspcl
  git checkout tags/0.3-test-3
  git submodule update --init
  </code></pre>
  
  <p>The result is:</p>
  
  <pre><code>git submodule update --init
  Submodule 'updatedAsdf' (https://github.com/drmeister/asdf.git) registered for path 'src/lisp/kernel/asdf'
  Submodule 'src/lisp/kernel/contrib/sicl' (https://github.com/drmeister/SICL.git) registered for path 'src/lisp/kernel/contrib/sicl'
  Submodule 'src/mps' (https://github.com/Ravenbrook/mps-temporary) registered for path 'src/mps'
  Cloning into 'src/lisp/kernel/asdf'...
  remote: Counting objects: 13416, done.
  remote: Total 13416 (delta 0), reused 0 (delta 0), pack-reused 13416
  Receiving objects: 100% (13416/13416), 5.34 MiB | 838.00 KiB/s, done.
  Resolving deltas: 100% (9935/9935), done.
  Checking connectivity... done.
  Submodule path 'src/lisp/kernel/asdf': checked out 'dcd692a8f9f6a5cb86133123e1c433a9afb4e7e9'
  Cloning into 'src/lisp/kernel/contrib/sicl'...
  remote: Counting objects: 49356, done.
  remote: Total 49356 (delta 0), reused 0 (delta 0), pack-reused 49356
  Receiving objects: 100% (49356/49356), 8.49 MiB | 298.00 KiB/s, done.
  Resolving deltas: 100% (37020/37020), done.
  Checking connectivity... done.
  fatal: reference is not a tree: 280c12ab49223c64c6f914944287a7d049cf4dd0
  Cloning into 'src/mps'...
  remote: Counting objects: 25250, done.
  remote: Total 25250 (delta 0), reused 0 (delta 0), pack-reused 25250
  Receiving objects: 100% (25250/25250), 86.87 MiB | 831.00 KiB/s, done.
  Resolving deltas: 100% (15851/15851), done.
  Checking connectivity... done.
  Submodule path 'src/mps': checked out '3e6640e7eeb5d086adec18e6227a84da59898e1c'
  Unable to checkout '280c12ab49223c64c6f914944287a7d049cf4dd0' in submodule path 'src/lisp/kernel/contrib/sicl'
  </code></pre>
  
  <p>As you can see, the reproduction recipe does not touch the <code>sicl</code> submodule. So, my best guess is that the <code>clasp</code> Git repository has a spurious reference to <code>280c12ab49223c64c6f914944287a7d049cf4dd0</code> somewhere inside it. The folks on #git also seemed to think this was plausible. As you can see, the reproduction recipe does not touch the <code>sicl</code> submodule. So, how best to resolve this problem? What kind of surgery is required for the <code>clasp</code> Git repository?</p>
  
  <p>NOTE: the problem does not show up without the <code>git checkout tags/0.3-test-3</code> step. So the problem is presumably in that particular branch, here <code>fixnum.</code></p>