From 22e712b935d93d9d1dff825c4410cc5310abbfe1 Mon Sep 17 00:00:00 2001 From: Sanskar Jaiswal Date: Wed, 19 Oct 2022 13:26:39 +0530 Subject: [PATCH] gitrepo: match against api types when creating git client Signed-off-by: Sanskar Jaiswal --- controllers/gitrepository_controller.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/controllers/gitrepository_controller.go b/controllers/gitrepository_controller.go index 54628d66..764d677f 100644 --- a/controllers/gitrepository_controller.go +++ b/controllers/gitrepository_controller.go @@ -768,10 +768,13 @@ func (r *GitRepositoryReconciler) gitCheckout(ctx context.Context, var gitReader git.RepositoryReader var err error - if obj.Spec.GitImplementation == libgit2.ClientName { + switch obj.Spec.GitImplementation { + case sourcev1.LibGit2Implementation: gitReader, err = libgit2.NewClient(dir, authOpts) - } else { + case sourcev1.GoGitImplementation, "": gitReader, err = gogit.NewClient(dir, authOpts) + default: + err = fmt.Errorf("invalid Git implementation: %s", obj.Spec.GitImplementation) } if err != nil { // Do not return err as recovery without changes is impossible.