Fossil

Notes About Branch repo-fingerprint
Login

The checkout database ("_FOSSIL_" or ".fslckout") stores integer BLOB.RID values instead of complete 40- or 64-character hashes of various artifacts. This normally works fine. However, if the repository is replaced by a clone, or if the repository is restored from an older backup and then resynced with a remote repository, the hash-to-RID mapping might change. This can render the RID values in the checkout database obsolete.

The purpose of this branch is to detect, and possibly fix, that situation.

The first step is detection using the new "db_fingerprint()" interface. After we can reliably detect RID number changes in the repository, then we can start working on fixing the checkout database when that happens.

See the forum discussion for additional insights.