aboutsummaryrefslogtreecommitdiff
path: root/models/git.go
diff options
context:
space:
mode:
authorMeaglith Ma <genedna@gmail.com>2014-04-06 17:28:33 +0800
committerMeaglith Ma <genedna@gmail.com>2014-04-06 17:28:33 +0800
commit2e8d5c2eb36b63468dc78561566975c72eeaaefa (patch)
tree92659a09ec784005c8d9a0540e5197a75b0a3ea9 /models/git.go
parenta044c24c3db4b18b20406045b40e55ce15f941a0 (diff)
parentef6b9784962d3152d3ec46833303bad72915af57 (diff)
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'models/git.go')
-rw-r--r--models/git.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/models/git.go b/models/git.go
index d3bad6e0..46345d0f 100644
--- a/models/git.go
+++ b/models/git.go
@@ -56,6 +56,25 @@ func GetBranches(userName, repoName string) ([]string, error) {
return brs, nil
}
+// GetTags returns all tags of given repository.
+func GetTags(userName, repoName string) ([]string, error) {
+ repo, err := git.OpenRepository(RepoPath(userName, repoName))
+ if err != nil {
+ return nil, err
+ }
+
+ refs, err := repo.AllTags()
+ if err != nil {
+ return nil, err
+ }
+
+ tags := make([]string, len(refs))
+ for i, ref := range refs {
+ tags[i] = ref.Name
+ }
+ return tags, nil
+}
+
func IsBranchExist(userName, repoName, branchName string) bool {
repo, err := git.OpenRepository(RepoPath(userName, repoName))
if err != nil {