aboutsummaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
Diffstat (limited to 'models')
-rw-r--r--models/repo_mirror.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/models/repo_mirror.go b/models/repo_mirror.go
index b58fa05dfe..7579231d8c 100644
--- a/models/repo_mirror.go
+++ b/models/repo_mirror.go
@@ -20,6 +20,7 @@ import (
"github.com/Unknwon/com"
"github.com/go-xorm/xorm"
+ "github.com/mcuadros/go-version"
)
// MirrorQueue holds an UniqueQueue object of the mirror
@@ -70,7 +71,17 @@ func (m *Mirror) ScheduleNextUpdate() {
}
func remoteAddress(repoPath string) (string, error) {
- cmd := git.NewCommand("remote", "get-url", "origin")
+ var cmd *git.Command
+ binVersion, err := git.BinVersion()
+ if err != nil {
+ return "", err
+ }
+ if version.Compare(binVersion, "2.7", ">=") {
+ cmd = git.NewCommand("remote", "get-url", "origin")
+ } else {
+ cmd = git.NewCommand("config", "--get", "remote.origin.url")
+ }
+
result, err := cmd.RunInDir(repoPath)
if err != nil {
if strings.HasPrefix(err.Error(), "exit status 128 - fatal: No such remote ") {