source-controller/pkg/git
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
..
gogit tests: algorithms test coverage for go-git and libgit2 2022-05-09 13:31:54 +01:00
libgit2 libgit2: optimise checkout branch clones 2022-05-11 11:40:04 +01:00
strategy tests: algorithms test coverage for go-git and libgit2 2022-05-09 13:31:54 +01:00
testdata/git/repo tests: algorithms test coverage for go-git and libgit2 2022-05-09 13:31:54 +01:00
git.go libgit2: optimise checkout branch clones 2022-05-11 11:40:04 +01:00
git_test.go pkg/git: Include commit message and URL in error 2022-02-14 21:34:27 +05:30
options.go libgit2: optimise checkout branch clones 2022-05-11 11:40:04 +01:00
options_test.go Add Host field check in AuthOptions.Validate() 2021-10-27 00:43:31 +05:30