summaryrefslogtreecommitdiff
path: root/pkg
diff options
context:
space:
mode:
authorjnovick <joshua.novick@hunters.ai>2024-08-14 04:22:00 +0300
committerGitHub <noreply@github.com>2024-08-13 21:22:00 -0400
commit859900ef39bbaa54d18298615fca843e0488b106 (patch)
treea6efb8797bf834c5434ddd6009d9752fe401b6b8 /pkg
parent0ad5b94ff483bd2045e7adb3f54b1ca4c700d3da (diff)
feat: Use shallow clone to speed up performance (#830)
Signed-off-by: Joshua Novick <joshua.novick@hunters.ai>
Diffstat (limited to 'pkg')
-rw-r--r--pkg/argocd/git.go8
-rw-r--r--pkg/argocd/update_test.go10
2 files changed, 9 insertions, 9 deletions
diff --git a/pkg/argocd/git.go b/pkg/argocd/git.go
index f984790..b2cd899 100644
--- a/pkg/argocd/git.go
+++ b/pkg/argocd/git.go
@@ -157,10 +157,6 @@ func commitChangesGit(app *v1alpha1.Application, wbc *WriteBackConfig, changeLis
if err != nil {
return err
}
- err = gitC.Fetch("")
- if err != nil {
- return err
- }
// Set username and e-mail address used to identify the commiter
if wbc.GitCommitUser != "" && wbc.GitCommitEmail != "" {
@@ -186,6 +182,10 @@ func commitChangesGit(app *v1alpha1.Application, wbc *WriteBackConfig, changeLis
return err
}
}
+ err = gitC.ShallowFetch(checkOutBranch, 1)
+ if err != nil {
+ return err
+ }
// The push branch is by default the same as the checkout branch, unless
// specified after a : separator git-branch annotation, in which case a
diff --git a/pkg/argocd/update_test.go b/pkg/argocd/update_test.go
index 7896a99..4d989e8 100644
--- a/pkg/argocd/update_test.go
+++ b/pkg/argocd/update_test.go
@@ -3009,7 +3009,7 @@ replacements: []
app := app.DeepCopy()
gitMock := &gitmock.Client{}
gitMock.On("Init").Return(nil)
- gitMock.On("Fetch", mock.Anything).Return(nil)
+ gitMock.On("ShallowFetch", mock.Anything, mock.Anything).Return(nil)
gitMock.On("Checkout", mock.Anything, mock.Anything).Run(func(args mock.Arguments) {
args.Assert(t, "mydefaultbranch", false)
}).Return(nil)
@@ -3035,7 +3035,7 @@ replacements: []
t.Run("Cannot init", func(t *testing.T) {
gitMock := &gitmock.Client{}
gitMock.On("Init").Return(fmt.Errorf("cannot init"))
- gitMock.On("Fetch", mock.Anything).Return(nil)
+ gitMock.On("ShallowFetch", mock.Anything, mock.Anything).Return(nil)
gitMock.On("Checkout", mock.Anything, mock.Anything).Return(nil)
gitMock.On("Commit", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil)
gitMock.On("Push", mock.Anything, mock.Anything, mock.Anything).Return(nil)
@@ -3050,7 +3050,7 @@ replacements: []
t.Run("Cannot fetch", func(t *testing.T) {
gitMock := &gitmock.Client{}
gitMock.On("Init").Return(nil)
- gitMock.On("Fetch", mock.Anything).Return(fmt.Errorf("cannot fetch"))
+ gitMock.On("ShallowFetch", mock.Anything, mock.Anything).Return(fmt.Errorf("cannot fetch"))
gitMock.On("Checkout", mock.Anything, mock.Anything).Return(nil)
gitMock.On("Commit", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil)
gitMock.On("Push", mock.Anything, mock.Anything, mock.Anything).Return(nil)
@@ -3064,7 +3064,7 @@ replacements: []
t.Run("Cannot checkout", func(t *testing.T) {
gitMock := &gitmock.Client{}
gitMock.On("Init").Return(nil)
- gitMock.On("Fetch", mock.Anything).Return(nil)
+ gitMock.On("ShallowFetch", mock.Anything, mock.Anything).Return(nil)
gitMock.On("Checkout", mock.Anything, mock.Anything).Return(fmt.Errorf("cannot checkout"))
gitMock.On("Commit", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil)
gitMock.On("Push", mock.Anything, mock.Anything, mock.Anything).Return(nil)
@@ -3180,7 +3180,7 @@ func mockGit(t *testing.T) (gitMock *gitmock.Client, dir string, cleanup func())
gitMock = &gitmock.Client{}
gitMock.On("Root").Return(dir)
gitMock.On("Init").Return(nil)
- gitMock.On("Fetch", mock.Anything).Return(nil)
+ gitMock.On("ShallowFetch", mock.Anything, mock.Anything).Return(nil)
return gitMock, dir, func() {
_ = os.RemoveAll(dir)
}