|
|
|
@ -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 ") { |
|
|
|
|