Nguyễn Thái Ngọc Duy  <> writes:

> --not-so-strict only checks if all links from objects in the pack
> point to real objects (either in current repo, or from the pack
> itself). It's like check_everything_connected() except that:
>  - it does not follow DAG in order
>  - it can detect incomplete object islands

Could you clarify what this second point means?

"rev-list --objects --all --not $this $that" does not detect
"islands" but checking with the updated index-pack does?

>  - it seems to be faster than "rev-list --objects --all"

More important is that it makes sure that it is safe to update our
refs to the new value, just like the check this attempts to replace.
If that is not the case, the speed does not matter.

I am guessing that the code assumes that we are updating our refs to
objects that are in the pack that we are looking at, and I can see
how the new check in sha1_object() may detect an object that points
at another object that is missing.  But that assumption (which I
think is correct) is probably the most important thing to say in the
log message.

> +--not-so-strict::

Perhaps "--check-connectivity" is a better name than this?
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to