source-controller/pkg/git
Sunny 71d3870e0a
Avoid skipping reconciliation
- Attempt short-circuiting clone only when the artifact is already in the
  storage.
- A successful no-op clone need not return an error, but a partial
  commit which contains only a hash + reference.
- On no-op clone, reconcileSource() populates the source build dir by
  copying the existing artifact and lets the reconciliation continue.
- Reconciliation is not skipped to allow other subreconcilers to operate
  on other parts of GitRepo object like include, ignore, etc, when
  attributes associated with them change but the remote repo has not
  changed.
- Add a function IsConcreteCommit() to differentiate between partial and
  concrete commit.
- Update and simplify go-git and libgit2 no-op clone tests.

Signed-off-by: Sunny <darkowlzz@protonmail.com>
2022-05-16 17:06:44 +05:30
..
gogit Avoid skipping reconciliation 2022-05-16 17:06:44 +05:30
libgit2 Avoid skipping reconciliation 2022-05-16 17:06:44 +05:30
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 Avoid skipping reconciliation 2022-05-16 17:06:44 +05:30
git_test.go Avoid skipping reconciliation 2022-05-16 17:06:44 +05:30
options.go Avoid skipping reconciliation 2022-05-16 17:06:44 +05:30
options_test.go Add Host field check in AuthOptions.Validate() 2021-10-27 00:43:31 +05:30