This and the previous patch seem to make sense to me, independent of the rest. As to mixing pathspecs with --objects, I would say it is unfair to Linus to call it a bug that that particular use case has not been supported. I'd say it _is_ a bug that we didn't error out when --objects was given with pathspec at the command line level, though, as that is a combination we knowingly ignored to support. It simply hasn't been deemed as a sane operation to produce a pack using an output from rev-list with pathspec and --objects, as it will leave some trees and blobs that the pack knows about in the result, without actually having them in it. In the context of "narrow clone", these wounds to trees are deliberate, and the existence of these wounds alone is not the reason why I called it insane to produce such a pack. To make use of such a pack, however, you need to somehow cauterize these deliberate wounds in trees so that fsck, a later run of pack-objects, fetch-pack and friends will not choke on them. We didn't plan to have such an infrastructure so far, and that is what made such a pack with thousands of cuts "insane". As soon as "narrow clone" addresses that issue, mixture of pathspecs with --objects stops being an insane use case. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html