aboutsummaryrefslogtreecommitdiff
path: root/internal/rtree
diff options
context:
space:
mode:
authorSandro Jäckel <sandro.jaeckel@sap.com>2022-04-01 14:09:36 +0200
committerSandro Jäckel <sandro.jaeckel@sap.com>2022-04-01 14:32:56 +0200
commit2dd6ab16c2346a7d7ed8f9b740f33457573dfdd7 (patch)
treebb753aeaae225fe14162cfe2387e3619b538f8e8 /internal/rtree
parentd35e5fb09bfac1fa381e4ed004ea24a6025e36f4 (diff)
downloadgofu-2dd6ab16c2346a7d7ed8f9b740f33457573dfdd7.tar.gz
Add repo.GitDirPath() and use it
Diffstat (limited to 'internal/rtree')
-rw-r--r--internal/rtree/index.go5
-rw-r--r--internal/rtree/repo.go5
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) {