From 2dd6ab16c2346a7d7ed8f9b740f33457573dfdd7 Mon Sep 17 00:00:00 2001 From: Sandro Jäckel Date: Fri, 1 Apr 2022 14:09:36 +0200 Subject: Add repo.GitDirPath() and use it --- internal/rtree/index.go | 5 ++--- internal/rtree/repo.go | 5 +++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/internal/rtree/index.go b/internal/rtree/index.go index b802ef8..45b6522 100644 --- a/internal/rtree/index.go +++ b/internal/rtree/index.go @@ -128,8 +128,7 @@ func (i *Index) Rebuild() error { //check if existing index entries are still checked out var newRepos []*Repo for _, repo := range i.Repos { - gitDirPath := filepath.Join(repo.AbsolutePath(), ".git") - fi, err := os.Stat(gitDirPath) + fi, err := os.Stat(repo.GitDirPath()) switch { case err == nil: // in a normal repo .git is a directory but when the repo is a submodule of another repo @@ -139,7 +138,7 @@ func (i *Index) Rebuild() error { newRepos = append(newRepos, repo) continue } - return fmt.Errorf("expected repository at %s, but is not a directory or file", gitDirPath) + return fmt.Errorf("expected repository at %s, but is not a directory or file", repo.GitDirPath()) case !os.IsNotExist(err): return err } diff --git a/internal/rtree/repo.go b/internal/rtree/repo.go index 59f3811..f710666 100644 --- a/internal/rtree/repo.go +++ b/internal/rtree/repo.go @@ -49,6 +49,11 @@ func (r Repo) AbsolutePath() string { return filepath.Join(RootPath, r.CheckoutPath) } +//GitDirPath returns the path of the .git directory of this repo. +func (r Repo) GitDirPath() string { + return filepath.Join(r.AbsolutePath(), ".git") +} + //NewRepoFromAbsolutePath initializes a Repo instance by scanning the existing //checkout at the given path. func NewRepoFromAbsolutePath(path string) (repo Repo, err error) { -- cgit v1.3.1