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: add lower_root config for lower layer #2177

Closed metanivek closed 1 year ago

metanivek commented 1 year ago

This PR adds the config key for the upcoming lower layer, with validation during Repo.v.

I didn't want to add a new error message just for an invalid lower_root value, and I also wanted good log message if the error occurs. To accomplish both, I am reusing No_such_file_or_directory and have added a string value for the file path. I think this also improves this error generally.

codecov-commenter commented 1 year ago

Codecov Report

Merging #2177 (d56b0ae) into main (ff45092) will decrease coverage by 0.01%. The diff coverage is 50.00%.

:exclamation: Current head d56b0ae differs from pull request most recent head 99274c0. Consider uploading reports for the commit 99274c0 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    #2177      +/-   ##
==========================================
- Coverage   68.07%   68.07%   -0.01%     
==========================================
  Files         134      134              
  Lines       16161    16173      +12     
==========================================
+ Hits        11001    11009       +8     
- Misses       5160     5164       +4     
Impacted Files Coverage Δ
src/irmin-pack/inode.ml 78.96% <0.00%> (ø)
src/irmin-pack/unix/control_file_intf.ml 100.00% <ø> (ø)
src/irmin-pack/unix/errors.ml 28.88% <ø> (ø)
src/irmin-pack/unix/io_errors.ml 58.33% <ø> (ø)
src/irmin-pack/unix/mapping_file.ml 89.88% <0.00%> (ø)
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:
src/irmin-pack/unix/file_manager.ml 84.89% <50.00%> (ø)
src/irmin-pack/conf.ml 87.50% <100.00%> (+0.96%) :arrow_up:
src/irmin-pack/unix/io.ml 65.21% <100.00%> (ø)
... and 4 more

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