mirror of
https://github.com/JanDeDobbeleer/oh-my-posh.git
synced 2025-03-05 20:49:04 -08:00
fix: use correct folder to fetch git info for
This commit is contained in:
parent
732035dfa1
commit
2a33b51f00
|
@ -29,6 +29,7 @@ type environmentInfo interface {
|
||||||
getcwd() string
|
getcwd() string
|
||||||
homeDir() string
|
homeDir() string
|
||||||
hasFiles(pattern string) bool
|
hasFiles(pattern string) bool
|
||||||
|
hasFilesInDir(dir, pattern string) bool
|
||||||
hasFolder(folder string) bool
|
hasFolder(folder string) bool
|
||||||
getFileContent(file string) string
|
getFileContent(file string) string
|
||||||
getPathSeperator() string
|
getPathSeperator() string
|
||||||
|
@ -95,6 +96,15 @@ func (env *environment) hasFiles(pattern string) bool {
|
||||||
return len(matches) > 0
|
return len(matches) > 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (env *environment) hasFilesInDir(dir, pattern string) bool {
|
||||||
|
pattern = dir + env.getPathSeperator() + pattern
|
||||||
|
matches, err := filepath.Glob(pattern)
|
||||||
|
if err != nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return len(matches) > 0
|
||||||
|
}
|
||||||
|
|
||||||
func (env *environment) hasFolder(folder string) bool {
|
func (env *environment) hasFolder(folder string) bool {
|
||||||
_, err := os.Stat(folder)
|
_, err := os.Stat(folder)
|
||||||
return !os.IsNotExist(err)
|
return !os.IsNotExist(err)
|
||||||
|
|
|
@ -279,8 +279,8 @@ func (g *git) getGitHEADContext(ref string) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *git) hasGitFile(file string) bool {
|
func (g *git) hasGitFile(file string) bool {
|
||||||
files := fmt.Sprintf("%s/.git/%s", g.repo.root, file)
|
files := fmt.Sprintf(".git/%s", file)
|
||||||
return g.env.hasFiles(files)
|
return g.env.hasFilesInDir(g.repo.root, files)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *git) hasGitFolder(folder string) bool {
|
func (g *git) hasGitFolder(folder string) bool {
|
||||||
|
|
|
@ -72,8 +72,8 @@ func setupHEADContextEnv(context *detachedContext) *git {
|
||||||
env.On("getFileContent", "/.git/rebase-apply/head-name").Return(context.origin)
|
env.On("getFileContent", "/.git/rebase-apply/head-name").Return(context.origin)
|
||||||
env.On("getFileContent", "/.git/CHERRY_PICK_HEAD").Return(context.cherryPickSHA)
|
env.On("getFileContent", "/.git/CHERRY_PICK_HEAD").Return(context.cherryPickSHA)
|
||||||
env.On("getFileContent", "/.git/MERGE_HEAD").Return(context.mergeHEAD)
|
env.On("getFileContent", "/.git/MERGE_HEAD").Return(context.mergeHEAD)
|
||||||
env.On("hasFiles", "/.git/CHERRY_PICK_HEAD").Return(context.cherryPick)
|
env.On("hasFilesInDir", "", ".git/CHERRY_PICK_HEAD").Return(context.cherryPick)
|
||||||
env.On("hasFiles", "/.git/MERGE_HEAD").Return(context.merge)
|
env.On("hasFilesInDir", "", ".git/MERGE_HEAD").Return(context.merge)
|
||||||
env.mockGitCommand(context.currentCommit, "rev-parse", "--short", "HEAD")
|
env.mockGitCommand(context.currentCommit, "rev-parse", "--short", "HEAD")
|
||||||
env.mockGitCommand(context.tagName, "describe", "--tags", "--exact-match")
|
env.mockGitCommand(context.tagName, "describe", "--tags", "--exact-match")
|
||||||
env.mockGitCommand(context.origin, "name-rev", "--name-only", "--exclude=tags/*", context.origin)
|
env.mockGitCommand(context.origin, "name-rev", "--name-only", "--exclude=tags/*", context.origin)
|
||||||
|
|
|
@ -33,6 +33,11 @@ func (env *MockedEnvironment) hasFiles(pattern string) bool {
|
||||||
return args.Bool(0)
|
return args.Bool(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (env *MockedEnvironment) hasFilesInDir(dir, pattern string) bool {
|
||||||
|
args := env.Called(dir, pattern)
|
||||||
|
return args.Bool(0)
|
||||||
|
}
|
||||||
|
|
||||||
func (env *MockedEnvironment) hasFolder(folder string) bool {
|
func (env *MockedEnvironment) hasFolder(folder string) bool {
|
||||||
args := env.Called(folder)
|
args := env.Called(folder)
|
||||||
return args.Bool(0)
|
return args.Bool(0)
|
||||||
|
|
Loading…
Reference in a new issue