diff options
Diffstat (limited to 'models/repo2.go')
-rw-r--r-- | models/repo2.go | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/models/repo2.go b/models/repo2.go index e3fdc2784b..a8dbc44db9 100644 --- a/models/repo2.go +++ b/models/repo2.go @@ -8,7 +8,7 @@ import ( "path" "time" - git "github.com/gogits/git" + "github.com/gogits/git" ) type RepoFile struct { @@ -19,10 +19,26 @@ type RepoFile struct { Size int64 } -func GetReposFiles(userName, reposName, branchName, rpath string) ([]*RepoFile, error) { - f := RepoPath(userName, reposName) +func GetBranches(userName, reposName string) ([]string, error) { + repo, err := git.OpenRepository(RepoPath(userName, reposName)) + if err != nil { + return nil, err + } + + refs, err := repo.AllReferences() + if err != nil { + return nil, err + } + + brs := make([]string, len(refs)) + for i, ref := range refs { + brs[i] = ref.Name + } + return brs, nil +} - repo, err := git.OpenRepository(f) +func GetReposFiles(userName, reposName, branchName, rpath string) ([]*RepoFile, error) { + repo, err := git.OpenRepository(RepoPath(userName, reposName)) if err != nil { return nil, err } |