mirage / irmin

Irmin is a distributed database that follows the same design principles as Git
https://irmin.org
ISC License
1.85k stars 157 forks source link

irmin-pack: introduce volume control file #2180

Closed metanivek closed 1 year ago

metanivek commented 1 year ago

This PR refactors control file to support more than one type of control file and adds the initial version of a volume control file.

I left TODOs for things that we will need to address before release, but I'll re-iterate them here with some added thoughts/context:

codecov-commenter commented 1 year ago

Codecov Report

Merging #2180 (870a533) into main (ff45092) will decrease coverage by 0.01%. The diff coverage is 65.00%.

:exclamation: Current head 870a533 differs from pull request most recent head 2ee84e6. Consider uploading reports for the commit 2ee84e6 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@            Coverage Diff             @@
##             main    #2180      +/-   ##
==========================================
- Coverage   68.07%   68.06%   -0.01%     
==========================================
  Files         134      134              
  Lines       16161    16208      +47     
==========================================
+ Hits        11001    11032      +31     
- Misses       5160     5176      +16     
Impacted Files Coverage Δ
src/irmin-pack/inode.ml 78.96% <0.00%> (ø)
src/irmin-pack/unix/dispatcher.ml 76.02% <ø> (ø)
src/irmin-pack/unix/errors.ml 28.88% <ø> (ø)
src/irmin-pack/unix/gc_worker.ml 4.34% <ø> (ø)
src/irmin-pack/unix/io_errors.ml 58.33% <ø> (ø)
src/irmin-pack/unix/mapping_file.ml 89.88% <0.00%> (ø)
src/irmin-pack/version.ml 44.44% <ø> (ø)
src/irmin-pack/unix/checks.ml 23.28% <33.33%> (+0.22%) :arrow_up:
src/irmin-pack/unix/store.ml 63.26% <37.50%> (-0.85%) :arrow_down:
src/irmin-pack/unix/async.ml 56.60% <40.00%> (+2.75%) :arrow_up:
... and 13 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more