From 859900ef39bbaa54d18298615fca843e0488b106 Mon Sep 17 00:00:00 2001 From: jnovick Date: Wed, 14 Aug 2024 04:22:00 +0300 Subject: feat: Use shallow clone to speed up performance (#830) Signed-off-by: Joshua Novick --- pkg/argocd/git.go | 8 ++++---- pkg/argocd/update_test.go | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'pkg') 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) } -- cgit v1.2.3