unison/unison-share-api
Chris Penner 5bf8f1c204
Causal hash/branch hash cleanup migration (#3073)
* Rename Branch.Hash -> Branch.CausalHash for clarity.

* WIP simplifying types for Causals and hashes

* Single type for causal hashes.

* Remove vestigial function

* Clean up some rogue hashes

* Formatting

* Fix tests

* Add namespace hash migration

* Cleanup

* Finish writing migration for bad branches, add some sanity checks too.

* Keep hash_object mappings up to date.

* Working migration

* More checks

* Dependency-order migration WIP

* Finish first draft of crawled migration strategy

* Improve speed and reliability of migration.

* Better migration logging

* Perform integrity checks once after all migrations are done.

* Considerably speed up migration by only re-hashing branches which have
the same causal hash as value hash.

* Clarify migration docs

* Move 'differing causal value hash' check to integrity checks

* Bump schema version for new codebases

* PR cleanup

* Remove commented out migration

* PR feedback cleanup

* Add integrity check for hash_objects.

* Correctly set 'changes' key

* Don't check hash object integrity in migrations

Some codebases (like mine) are borked in this area and we'll need to fix
them later on.

* Correct final migration number

* Check namespace hash even if branch has no children

* Rehash every branch regardless

* Use v4 of base.
2022-05-26 16:20:38 -06:00
..
src/Unison Causal hash/branch hash cleanup migration (#3073) 2022-05-26 16:20:38 -06:00
package.yaml Re-implement Browse API to avoid loading entire codebase root (#3054) 2022-04-26 09:41:31 -06:00
README.md Add unison-share-api package with Sync APIs (#3018) 2022-04-01 10:14:01 -06:00
unison-share-api.cabal Allow fetching namespace details (and readme) without loading root branch (#3066) 2022-05-06 15:10:23 -06:00

unison-share-api

This package serves as a shared place to store the API definitions and types for all of Share's APIs. This facilitates the use of servant-client to easily generate clients for the API, and provides an always-up-to-date view of Share's APIs.