Patch Set 6: I would prefer that you didn't submit this; No score

Logic looks right.  A few style issues in the code.

I wonder if we should explore the validation logic inside of ReceivePack, rather than Gerrit Code Review.  Make a new commit on top of this that does the object validations.  Especially if it could actually be integrated into our checkConnectivity() method so we only have to do one parse/traversal of the object graph.