summaryrefslogtreecommitdiffstats
path: root/models/repo2.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/repo2.go')
-rw-r--r--models/repo2.go24
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
}