Skip to content

Commit 2a33b51

Browse files
fix: use correct folder to fetch git info for
1 parent 732035d commit 2a33b51

File tree

4 files changed

+19
-4
lines changed

4 files changed

+19
-4
lines changed

environment.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ type environmentInfo interface {
2929
getcwd() string
3030
homeDir() string
3131
hasFiles(pattern string) bool
32+
hasFilesInDir(dir, pattern string) bool
3233
hasFolder(folder string) bool
3334
getFileContent(file string) string
3435
getPathSeperator() string
@@ -95,6 +96,15 @@ func (env *environment) hasFiles(pattern string) bool {
9596
return len(matches) > 0
9697
}
9798

99+
func (env *environment) hasFilesInDir(dir, pattern string) bool {
100+
pattern = dir + env.getPathSeperator() + pattern
101+
matches, err := filepath.Glob(pattern)
102+
if err != nil {
103+
return false
104+
}
105+
return len(matches) > 0
106+
}
107+
98108
func (env *environment) hasFolder(folder string) bool {
99109
_, err := os.Stat(folder)
100110
return !os.IsNotExist(err)

segment_git.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,8 +279,8 @@ func (g *git) getGitHEADContext(ref string) string {
279279
}
280280

281281
func (g *git) hasGitFile(file string) bool {
282-
files := fmt.Sprintf("%s/.git/%s", g.repo.root, file)
283-
return g.env.hasFiles(files)
282+
files := fmt.Sprintf(".git/%s", file)
283+
return g.env.hasFilesInDir(g.repo.root, files)
284284
}
285285

286286
func (g *git) hasGitFolder(folder string) bool {

segment_git_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ func setupHEADContextEnv(context *detachedContext) *git {
7272
env.On("getFileContent", "/.git/rebase-apply/head-name").Return(context.origin)
7373
env.On("getFileContent", "/.git/CHERRY_PICK_HEAD").Return(context.cherryPickSHA)
7474
env.On("getFileContent", "/.git/MERGE_HEAD").Return(context.mergeHEAD)
75-
env.On("hasFiles", "/.git/CHERRY_PICK_HEAD").Return(context.cherryPick)
76-
env.On("hasFiles", "/.git/MERGE_HEAD").Return(context.merge)
75+
env.On("hasFilesInDir", "", ".git/CHERRY_PICK_HEAD").Return(context.cherryPick)
76+
env.On("hasFilesInDir", "", ".git/MERGE_HEAD").Return(context.merge)
7777
env.mockGitCommand(context.currentCommit, "rev-parse", "--short", "HEAD")
7878
env.mockGitCommand(context.tagName, "describe", "--tags", "--exact-match")
7979
env.mockGitCommand(context.origin, "name-rev", "--name-only", "--exclude=tags/*", context.origin)

segment_path_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ func (env *MockedEnvironment) hasFiles(pattern string) bool {
3333
return args.Bool(0)
3434
}
3535

36+
func (env *MockedEnvironment) hasFilesInDir(dir, pattern string) bool {
37+
args := env.Called(dir, pattern)
38+
return args.Bool(0)
39+
}
40+
3641
func (env *MockedEnvironment) hasFolder(folder string) bool {
3742
args := env.Called(folder)
3843
return args.Bool(0)

0 commit comments

Comments
 (0)