source-controller/pkg/git/libgit2
Paulo Gomes 860d7051da
libgit2: optimise checkout branch clones
No-op reconciliations are very inefficient, as they carry out
a full clone operation of the target repository even when
no changes have taken place.

This change will execute a remote-ls operation, and cancel
the clone operation if the remote tip commit is still the same
as the one observed on the last reconcilation. In such cases,
an git.NoChangesError is returned.

Signed-off-by: Paulo Gomes <paulo.gomes@weave.works>
2022-05-11 11:40:04 +01:00
..
managed tests: algorithms test coverage for go-git and libgit2 2022-05-09 13:31:54 +01:00
checkout.go libgit2: optimise checkout branch clones 2022-05-11 11:40:04 +01:00
checkout_test.go libgit2: optimise checkout branch clones 2022-05-11 11:40:04 +01:00
libgit2.go gogit: allow checkout of commit without branch 2021-10-27 00:43:31 +05:30
managed_test.go tests: algorithms test coverage for go-git and libgit2 2022-05-09 13:31:54 +01:00
transport.go Implement Managed Transport for libgit2 2022-03-16 16:22:20 +05:30
transport_test.go Upgrade libgit2 to libgit2-1.3.0-2 2022-02-16 11:39:11 +00:00