This commit is contained in:
Unknwon 2014-09-16 11:29:53 -04:00
parent 0d9c41be7d
commit 62f21ff3ed
3 changed files with 7 additions and 3 deletions

View file

@ -100,7 +100,7 @@ func NewRepoContext() {
if err != nil { if err != nil {
log.Fatal(4, "Fail to parse required Git version: %v", err) log.Fatal(4, "Fail to parse required Git version: %v", err)
} }
if ver.Compare(reqVer) == -1 { if ver.LessThan(reqVer) {
log.Fatal(4, "Gogs requires Git version greater or equal to 1.7.1") log.Fatal(4, "Gogs requires Git version greater or equal to 1.7.1")
} }

View file

@ -137,7 +137,7 @@ func (repo *Repository) GetCommit(commitId string) (*Commit, error) {
} }
func (repo *Repository) commitsCount(id sha1) (int, error) { func (repo *Repository) commitsCount(id sha1) (int, error) {
if gitVer.Compare(MustParseVersion("1.8.0")) == -1 { if gitVer.LessThan(MustParseVersion("1.8.0")) {
stdout, stderr, err := com.ExecCmdDirBytes(repo.Path, "git", "log", "--pretty=format:''", id.String()) stdout, stderr, err := com.ExecCmdDirBytes(repo.Path, "git", "log", "--pretty=format:''", id.String())
if err != nil { if err != nil {
return 0, errors.New(string(stderr)) return 0, errors.New(string(stderr))

View file

@ -47,7 +47,7 @@ func MustParseVersion(verStr string) *Version {
} }
// Compare compares two versions, // Compare compares two versions,
// it returns 1 if original is greater, 1 if original is smaller, 0 if equal. // it returns 1 if original is greater, -1 if original is smaller, 0 if equal.
func (v *Version) Compare(that *Version) int { func (v *Version) Compare(that *Version) int {
if v.Major > that.Major { if v.Major > that.Major {
return 1 return 1
@ -70,6 +70,10 @@ func (v *Version) Compare(that *Version) int {
return 0 return 0
} }
func (v *Version) LessThan(that *Version) bool {
return v.Compare(that) < 0
}
// GetVersion returns current Git version installed. // GetVersion returns current Git version installed.
func GetVersion() (*Version, error) { func GetVersion() (*Version, error) {
if gitVer != nil { if gitVer != nil {