1
1
mirror of https://github.com/go-gitea/gitea synced 2025-07-22 18:28:37 +00:00
This commit is contained in:
Unknwon
2014-09-30 04:39:53 -04:00
parent 198567eccb
commit 2a031c1365
9 changed files with 12 additions and 11 deletions

View File

@@ -40,11 +40,11 @@ func (repo *Repository) GetCommitIdOfTag(tagName string) (string, error) {
}
func (repo *Repository) GetCommitOfTag(tagName string) (*Commit, error) {
commitId, err := repo.GetCommitIdOfTag(tagName)
tag, err := repo.GetTag(tagName)
if err != nil {
return nil, err
}
return repo.GetCommit(commitId)
return tag.Commit()
}
// Parse commit information from the (uncompressed) raw

View File

@@ -52,6 +52,7 @@ func (repo *Repository) getTag(id sha1) (*Tag, error) {
if err != nil {
return nil, errors.New(stderr)
}
tp = strings.TrimSpace(tp)
// Tag is a commit.
if ObjectType(tp) == COMMIT {
@@ -77,7 +78,6 @@ func (repo *Repository) getTag(id sha1) (*Tag, error) {
}
tag.Id = id
tag.Object = id
tag.repo = repo
repo.tagCache[id] = tag

View File

@@ -109,9 +109,12 @@ func (t *Tree) ListEntries(relpath string) (Entries, error) {
}
t.entriesParsed = true
stdout, _, err := com.ExecCmdDirBytes(t.repo.Path,
stdout, stderr, err := com.ExecCmdDirBytes(t.repo.Path,
"git", "ls-tree", t.Id.String())
if err != nil {
if strings.Contains(err.Error(), "exit status 128") {
return nil, errors.New(strings.TrimSpace(string(stderr)))
}
return nil, err
}
t.entries, err = parseTreeData(t, stdout)

View File

@@ -208,10 +208,9 @@ func RepoAssignment(redirect bool, args ...bool) macaron.Handler {
} else if gitRepo.IsTagExist(refName) {
ctx.Repo.IsTag = true
ctx.Repo.BranchName = refName
ctx.Repo.Commit, err = gitRepo.GetCommitOfTag(refName)
ctx.Repo.Commit, err = ctx.Repo.GitRepo.GetCommitOfTag(refName)
if err != nil {
ctx.Handle(500, "RepoAssignment invalid tag", err)
ctx.Handle(500, "Fail to get tag commit", err)
return
}
ctx.Repo.CommitId = ctx.Repo.Commit.Id.String()