radicle-heartwood-lfs/radicle-remote-helper/src
Fintan Halpenny 8fd044833e
radicle: use `git push` to avoid `libgit2` push
In issue #[2836] of `libgit2`, the speed of `libgit2`'s `file://` protocol for
git operations is found to be very slow. This is further corrobarated by `rad
init` taking 13 hours to initialise the hardenedbsd [ports] repository.

There are two areas where the `heartwood` project uses `libgit2` to push using
the file protocol. The first is when via the `trasnport::local` smart transport
registration and the second is the final push to storage in the `git-remote-rad`
binary.

When both these `push` operations are changed to use the `git` binary instead,
the [ports] repository can be initialised in less than 10 minutes (nearly 100x
speed up).

This change is clearly required if `heartwood` wishes to support larger
repositories.

[2836]: https://github.com/libgit2/libgit2/issues/2836
[ports]: https://git.hardenedbsd.org/hardenedbsd/ports
2025-04-17 15:12:12 +02:00
..
fetch.rs cli: use `git` for anonymous fetch 2024-01-02 15:04:49 +01:00
git-remote-rad.rs build: Update env vars for build process 2024-06-20 10:47:50 +02:00
lib.rs cli: Implement `rad cob migrate` 2024-11-22 21:27:45 +01:00
list.rs cli: Implement `rad cob migrate` 2024-11-22 21:27:45 +01:00
push.rs radicle: use `git push` to avoid `libgit2` push 2025-04-17 15:12:12 +02:00