pub fn comparable(lock: Lock) -> Result<Binds, String>Expand description
The entries of lock a fresh accept may merge over.
Fingerprints from an older format are not comparable to what this build
derives, so they are dropped rather than carried under a stamp claiming
they are current; their pages read as unlocked until their own
docs accept runs, which is what lets a repo migrate one accept at a
time.
A lock from a newer format is equally incomparable but is not this build’s to discard, so it is refused instead. The asymmetry is the point: an older entry is worthless, a newer one is someone else’s valid work. Accepting is deliberately stricter than checking here: a check against a newer lock only misreports, while an accept would overwrite it.