Duy Nguyen [off-list ref] writes:
What do you mean by "partial history"? Do we have dangling pointers
after doing that commit walker?
"^C" will leave the objects and it is safe because it will not
update refs.
But your code that does not verify the full connectivity from such
an object (that is outside the transferred pack) to the rest of the
history will then make the resulting repository broken, if you
update your ref to point at such an object, no? Ading a single
has_sha1_file() only verifies that single object, not the history
behind it.