source-controller/pkg/git/gogit
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
..
checkout.go Avoid skipping reconciliation 2022-05-16 17:06:44 +05:30
checkout_test.go Avoid skipping reconciliation 2022-05-16 17:06:44 +05:30
gogit.go gogit: allow checkout of commit without branch 2021-10-27 00:43:31 +05:30
transport.go git: Add git.HostKeyAlgos 2022-05-06 17:58:09 +01:00
transport_test.go add flag to allow configuration of SSH kex algos 2022-04-07 16:43:15 +05:30