diff options
Diffstat (limited to 'modules/context/repo.go')
-rw-r--r-- | modules/context/repo.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/modules/context/repo.go b/modules/context/repo.go index 2c6a4f5360..9d3fb7cfec 100644 --- a/modules/context/repo.go +++ b/modules/context/repo.go @@ -128,6 +128,21 @@ func (r *Repository) BranchNameSubURL() string { return "" } +// FileExists returns true if a file exists in the given repo branch +func (r *Repository) FileExists(path string, branch string) (bool, error) { + if branch == "" { + branch = r.Repository.DefaultBranch + } + commit, err := r.GitRepo.GetBranchCommit(branch) + if err != nil { + return false, err + } + if _, err := commit.GetTreeEntryByPath(path); err != nil { + return false, err + } + return true, nil +} + // GetEditorconfig returns the .editorconfig definition if found in the // HEAD of the default repo branch. func (r *Repository) GetEditorconfig() (*editorconfig.Editorconfig, error) { |