From 6f8e388b5530e85f141ea3aa345b1c6842fbe1f5 Mon Sep 17 00:00:00 2001
From: Unknwon <u@gogs.io>
Date: Sun, 26 Jul 2015 19:22:17 +0800
Subject: fix #1169

- prevent create reop on existed path
---
 modules/git/repo_tag.go | 2 +-
 modules/git/utils.go    | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

(limited to 'modules/git')

diff --git a/modules/git/repo_tag.go b/modules/git/repo_tag.go
index ed994d48..45a1df70 100644
--- a/modules/git/repo_tag.go
+++ b/modules/git/repo_tag.go
@@ -27,7 +27,7 @@ func (repo *Repository) GetTags() ([]string, error) {
 	}
 	stdout, stderr, err := com.ExecCmdDir(repo.Path, "git", "tag", "-l")
 	if err != nil {
-		return nil, errors.New(stderr)
+		return nil, concatenateError(err, stderr)
 	}
 	tags := strings.Split(stdout, "\n")
 	return tags[:len(tags)-1], nil
diff --git a/modules/git/utils.go b/modules/git/utils.go
index 6abbca55..78792aaf 100644
--- a/modules/git/utils.go
+++ b/modules/git/utils.go
@@ -7,6 +7,7 @@ package git
 import (
 	"bytes"
 	"container/list"
+	"fmt"
 	"os"
 	"path/filepath"
 	"strings"
@@ -67,3 +68,10 @@ func isFile(filePath string) bool {
 	}
 	return !f.IsDir()
 }
+
+func concatenateError(err error, stderr string) error {
+	if len(stderr) == 0 {
+		return err
+	}
+	return fmt.Errorf("%v: %s", err, stderr)
+}
-- 
cgit v1.2.3