diff options
Diffstat (limited to 'internal/rtree')
| -rw-r--r-- | internal/rtree/index.go | 5 | ||||
| -rw-r--r-- | 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) { |
