Patch Set 8:

There was a bad interaction between this patch, and a change that I added to PackWriter more recently. I had to turn off my reorder commits logic when a shallow clone is being used, because the reordering was packing parent commits that should not have been included in the pack. Not your fault, since the code is newer than the last version you touched in the patch. :-)

I think I also busted shallow clone over smart HTTP. The server always crashes with an exception during the exchange, but it works correctly. Smart HTTP clients have an extra intermediate request that the UploadPack code isn't expecting. I'll try to get it fixed just so we don't have the exception showing up in server logs.