summaryrefslogtreecommitdiffstats
path: root/modules/git
diff options
context:
space:
mode:
authorUnknwon <joe2010xtmf@163.com>2014-09-30 04:39:53 -0400
committerUnknwon <joe2010xtmf@163.com>2014-09-30 04:39:53 -0400
commit2a031c13658458df9f8f56ce295a8ba72bf35dff (patch)
tree5af1a495b55eddef9d8fe8e21d2a0bccc835ec1d /modules/git
parent198567eccbd6425235f5c755b5862cbe90b435c2 (diff)
downloadgitea-2a031c13658458df9f8f56ce295a8ba72bf35dff.tar.gz
gitea-2a031c13658458df9f8f56ce295a8ba72bf35dff.zip
Fix #515
Diffstat (limited to 'modules/git')
-rw-r--r--modules/git/repo_commit.go4
-rw-r--r--modules/git/repo_tag.go2
-rw-r--r--modules/git/tree.go5
3 files changed, 7 insertions, 4 deletions
diff --git a/modules/git/repo_commit.go b/modules/git/repo_commit.go
index cd0181c481..7c47b53dc4 100644
--- a/modules/git/repo_commit.go
+++ b/modules/git/repo_commit.go
@@ -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
diff --git a/modules/git/repo_tag.go b/modules/git/repo_tag.go
index dd31e4414f..77ae3db007 100644
--- a/modules/git/repo_tag.go
+++ b/modules/git/repo_tag.go
@@ -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
diff --git a/modules/git/tree.go b/modules/git/tree.go
index a3012443d7..be77bfce02 100644
--- a/modules/git/tree.go
+++ b/modules/git/tree.go
@@ -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)