diff --git a/pkg/recipe/git.go b/pkg/recipe/git.go index 4978856d..d4468db2 100644 --- a/pkg/recipe/git.go +++ b/pkg/recipe/git.go @@ -3,10 +3,8 @@ package recipe import ( "fmt" "os" - "path" "strings" - "coopcloud.tech/abra/pkg/config" "coopcloud.tech/abra/pkg/formatter" gitPkg "coopcloud.tech/abra/pkg/git" "coopcloud.tech/abra/pkg/log" @@ -142,13 +140,11 @@ func (r Recipe) EnsureIsClean() error { // EnsureLatest makes sure the latest commit is checked out for the local recipe repository func (r Recipe) EnsureLatest() error { - recipeDir := path.Join(config.RECIPES_DIR, r.Name) - - if err := gitPkg.EnsureGitRepo(recipeDir); err != nil { + if err := gitPkg.EnsureGitRepo(r.Dir); err != nil { return err } - repo, err := git.PlainOpen(recipeDir) + repo, err := git.PlainOpen(r.Dir) if err != nil { return err } @@ -158,7 +154,7 @@ func (r Recipe) EnsureLatest() error { return err } - branch, err := gitPkg.GetDefaultBranch(repo, recipeDir) + branch, err := gitPkg.GetDefaultBranch(repo, r.Dir) if err != nil { return err } @@ -170,7 +166,7 @@ func (r Recipe) EnsureLatest() error { } if err := worktree.Checkout(checkOutOpts); err != nil { - log.Debugf("failed to check out %s in %s", branch, recipeDir) + log.Debugf("failed to check out %s in %s", branch, r.Dir) return err } @@ -179,16 +175,14 @@ func (r Recipe) EnsureLatest() error { // EnsureUpToDate ensures that the local repo is synced to the remote func (r Recipe) EnsureUpToDate() error { - recipeDir := path.Join(config.RECIPES_DIR, r.Name) - - repo, err := git.PlainOpen(recipeDir) + repo, err := git.PlainOpen(r.Dir) if err != nil { - return fmt.Errorf("unable to open %s: %s", recipeDir, err) + return fmt.Errorf("unable to open %s: %s", r.Dir, err) } remotes, err := repo.Remotes() if err != nil { - return fmt.Errorf("unable to read remotes in %s: %s", recipeDir, err) + return fmt.Errorf("unable to read remotes in %s: %s", r.Dir, err) } if len(remotes) == 0 { @@ -198,18 +192,18 @@ func (r Recipe) EnsureUpToDate() error { worktree, err := repo.Worktree() if err != nil { - return fmt.Errorf("unable to open git work tree in %s: %s", recipeDir, err) + return fmt.Errorf("unable to open git work tree in %s: %s", r.Dir, err) } - branch, err := gitPkg.CheckoutDefaultBranch(repo, recipeDir) + branch, err := gitPkg.CheckoutDefaultBranch(repo, r.Dir) if err != nil { - return fmt.Errorf("unable to check out default branch in %s: %s", recipeDir, err) + return fmt.Errorf("unable to check out default branch in %s: %s", r.Dir, err) } fetchOpts := &git.FetchOptions{Tags: git.AllTags} if err := repo.Fetch(fetchOpts); err != nil { if !strings.Contains(err.Error(), "already up-to-date") { - return fmt.Errorf("unable to fetch tags in %s: %s", recipeDir, err) + return fmt.Errorf("unable to fetch tags in %s: %s", r.Dir, err) } } @@ -221,7 +215,7 @@ func (r Recipe) EnsureUpToDate() error { if err := worktree.Pull(opts); err != nil { if !strings.Contains(err.Error(), "already up-to-date") { - return fmt.Errorf("unable to git pull in %s: %s", recipeDir, err) + return fmt.Errorf("unable to git pull in %s: %s", r.Dir, err) } } @@ -241,8 +235,7 @@ func (r Recipe) ChaosVersion() (string, error) { version = formatter.SmallSHA(head.String()) - recipeDir := path.Join(config.RECIPES_DIR, r.Name) - isClean, err := gitPkg.IsClean(recipeDir) + isClean, err := gitPkg.IsClean(r.Dir) if err != nil { return version, err }