- Remove the
result
dependency (@hannesm, mirage/ocaml-git#634) - Split out
carton
intohttps://git.robur.coop/robur/carton
(@dinosaure)
- Add a
Lwt.pause
to insert a cooperative point when we verify a PACK file (@dinosaure, @hannesm, #631)
- Extend the API with the ability to choose the compression level (@dinosaure, #616)
- Extend the API about
*.idx
file and be able to map entries (@dinosaure, #619)
- Add few functions to introspect target when we encode and be able to construct objects with source (@dinosaure, #595)
- Add missing dependencies on Unix (@dra27, #573)
- Be able to choose the zlib compression level when we generate a PACK file (@dinosaure, #578)
- Fix spurious bug when we encode a patch into a PACK file (@dinosaure, #578)
- Add an accessor to get the hash
ctx
computed by the first-pass of a PACK file (@dinosaure, #584) - Fix how we record the weight of Git objects into a PACK file (@dinosaure, #591)
- Remove
bigarray-compat
andmmap
dependencies (@dinosaure, @hannesm, #568)
- Use
Cstruct.length
instead ofCstruct.len
(@dinosaure, #522) - Fix big endian support via
decompress
andcheckseum
(@dinosaure, @talex5, @tmcgilchrist, #523) - Handle huge PACK files (@dinosaure, @TheLortex, #526)
- Fix stream of inflated contents on PACK entry (@dinosaure, @talex5, @emillon, #515, #514)
- Add a
sector_size
argument when we make a PACK decoder (@dinosaure, #493, #497)
- Handle
trunc
argument when we process athin
PACK file breaking changes An optional argument is added on the record which abstract the file-system. It should be correctly handled by underlying implementation of the file-system. It appears that, at top, we need to figure out such option, specially for Git andCstruct_append
to correctly access to memories.
- Provides binaries to manipulate PACK files (@dinosaure, #475)
breaking changes
A transitive breaking changes from decompress.1.3.0 when
the compressor expects a
De.Lz77.window
instead ofDe.window
- Update to decompress.1.3.0 (@dinosaure, #477)
-
Unmonad
mmap
(@dinosaure, #454)mmap
is a syscall which does not block. The ability to use it outside the scheduler monad (like LWT) permits us to detach multiple processes to analyze a PACK file.With this PR, we take the advantage of
Thread
orLwt_preemptive
(or more acccurately, the concurrency) to analyze a large PACK file and speed-up theclone
/fetch
process.The distribution comes with a new binary,
carton.verify-pack
which isgit verify-pack
.
- First release of carton