diff options
author | zeripath <art27@cantab.net> | 2020-10-21 16:42:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-21 11:42:08 -0400 |
commit | de6e427a0188ef1be6108c5a71979dc4dd679aec (patch) | |
tree | ac0d5a17dcac25c4a6f702b6949123d527027002 /modules/git | |
parent | 53359b1861c79ea688a3c230d235fb515eb44c01 (diff) | |
download | gitea-de6e427a0188ef1be6108c5a71979dc4dd679aec.tar.gz gitea-de6e427a0188ef1be6108c5a71979dc4dd679aec.zip |
go-version constraints ignore pre-releases (#13234)
Go-version constraints ignore pre-releases.
Rather than change the library further this PR simply changes
the git version comparison to use simple version compare ignoring the
issue of pre-releases.
Signed-off-by: Andrew Thornton <art27@cantab.net>
Diffstat (limited to 'modules/git')
-rw-r--r-- | modules/git/commit.go | 2 | ||||
-rw-r--r-- | modules/git/git.go | 14 | ||||
-rw-r--r-- | modules/git/repo_attribute.go | 2 | ||||
-rw-r--r-- | modules/git/repo_commit.go | 2 | ||||
-rw-r--r-- | modules/git/repo_tree.go | 4 |
5 files changed, 12 insertions, 12 deletions
diff --git a/modules/git/commit.go b/modules/git/commit.go index 6d2bc2b02c..87278af9c7 100644 --- a/modules/git/commit.go +++ b/modules/git/commit.go @@ -477,7 +477,7 @@ func (c *Commit) GetBranchName() (string, error) { args := []string{ "name-rev", } - if CheckGitVersionConstraint(">= 2.13.0") == nil { + if CheckGitVersionAtLeast("2.13.0") == nil { args = append(args, "--exclude", "refs/tags/*") } args = append(args, "--name-only", "--no-undefined", c.ID.String()) diff --git a/modules/git/git.go b/modules/git/git.go index a9ff923cc5..cce5cc738d 100644 --- a/modules/git/git.go +++ b/modules/git/git.go @@ -150,13 +150,13 @@ func Init(ctx context.Context) error { return err } - if CheckGitVersionConstraint(">= 2.10") == nil { + if CheckGitVersionAtLeast("2.10") == nil { if err := checkAndSetConfig("receive.advertisePushOptions", "true", true); err != nil { return err } } - if CheckGitVersionConstraint(">= 2.18") == nil { + if CheckGitVersionAtLeast("2.18") == nil { if err := checkAndSetConfig("core.commitGraph", "true", true); err != nil { return err } @@ -173,17 +173,17 @@ func Init(ctx context.Context) error { return nil } -// CheckGitVersionConstraint check version constrain against local installed git version -func CheckGitVersionConstraint(constraint string) error { +// CheckGitVersionAtLeast check git version is at least the constraint version +func CheckGitVersionAtLeast(atLeast string) error { if err := LoadGitVersion(); err != nil { return err } - check, err := version.NewConstraint(constraint) + atLeastVersion, err := version.NewVersion(atLeast) if err != nil { return err } - if !check.Check(gitVersion) { - return fmt.Errorf("installed git binary %s does not satisfy version constraint %s", gitVersion.Original(), constraint) + if gitVersion.Compare(atLeastVersion) < 0 { + return fmt.Errorf("installed git binary version %s is not at least %s", gitVersion.Original(), atLeast) } return nil } diff --git a/modules/git/repo_attribute.go b/modules/git/repo_attribute.go index 7522b0dc82..aa5e4c10e7 100644 --- a/modules/git/repo_attribute.go +++ b/modules/git/repo_attribute.go @@ -40,7 +40,7 @@ func (repo *Repository) CheckAttribute(opts CheckAttributeOpts) (map[string]map[ } // git check-attr --cached first appears in git 1.7.8 - if opts.CachedOnly && CheckGitVersionConstraint(">= 1.7.8") == nil { + if opts.CachedOnly && CheckGitVersionAtLeast("1.7.8") == nil { cmdArgs = append(cmdArgs, "--cached") } diff --git a/modules/git/repo_commit.go b/modules/git/repo_commit.go index c9a5efb24e..1f123c97fb 100644 --- a/modules/git/repo_commit.go +++ b/modules/git/repo_commit.go @@ -469,7 +469,7 @@ func (repo *Repository) getCommitsBeforeLimit(id SHA1, num int) (*list.List, err } func (repo *Repository) getBranches(commit *Commit, limit int) ([]string, error) { - if CheckGitVersionConstraint(">= 2.7.0") == nil { + if CheckGitVersionAtLeast("2.7.0") == nil { stdout, err := NewCommand("for-each-ref", "--count="+strconv.Itoa(limit), "--format=%(refname:strip=2)", "--contains", commit.ID.String(), BranchPrefix).RunInDir(repo.Path) if err != nil { return nil, err diff --git a/modules/git/repo_tree.go b/modules/git/repo_tree.go index 57896318a7..0b08a10d55 100644 --- a/modules/git/repo_tree.go +++ b/modules/git/repo_tree.go @@ -89,11 +89,11 @@ func (repo *Repository) CommitTree(author *Signature, committer *Signature, tree _, _ = messageBytes.WriteString(opts.Message) _, _ = messageBytes.WriteString("\n") - if CheckGitVersionConstraint(">= 1.7.9") == nil && (opts.KeyID != "" || opts.AlwaysSign) { + if CheckGitVersionAtLeast("1.7.9") == nil && (opts.KeyID != "" || opts.AlwaysSign) { cmd.AddArguments(fmt.Sprintf("-S%s", opts.KeyID)) } - if CheckGitVersionConstraint(">= 2.0.0") == nil && opts.NoGPGSign { + if CheckGitVersionAtLeast("2.0.0") == nil && opts.NoGPGSign { cmd.AddArguments("--no-gpg-sign") } |