This series fixes a number of small problems in the shallow clone support in pu. After that it seems to work fairly well for me.
The one remaining problem I see is that a git-fetch to deepen the tree doesn't take into account the commits that the client already has. For instance, on the Wine tree, a "git-clone --depth 1" downloads 4655 objects, and a "git-clone --depth 2" downloads 4660, so I'd expect that after the depth 1 clone a "git-fetch --depth 2" would only have to download 5 objects, but currently it downloads 4650 again.
-- Alexandre Julliard