update git vendor (#4059)
This commit is contained in:
parent
b6604505e7
commit
0be2b34cec
|
@ -5,7 +5,7 @@
|
||||||
branch = "master"
|
branch = "master"
|
||||||
name = "code.gitea.io/git"
|
name = "code.gitea.io/git"
|
||||||
packages = ["."]
|
packages = ["."]
|
||||||
revision = "0077debc17a58c821f4e62e815a54c1ab52da157"
|
revision = "31f4b8e8c805438ac6d8914b38accb1d8aaf695e"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
branch = "master"
|
branch = "master"
|
||||||
|
|
|
@ -9,6 +9,8 @@ import (
|
||||||
"container/list"
|
"container/list"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/mcuadros/go-version"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetRefCommitID returns the last commit ID string of given reference (branch or tag).
|
// GetRefCommitID returns the last commit ID string of given reference (branch or tag).
|
||||||
|
@ -274,7 +276,7 @@ func (repo *Repository) CommitsCountBetween(start, end string) (int64, error) {
|
||||||
func (repo *Repository) commitsBefore(id SHA1, limit int) (*list.List, error) {
|
func (repo *Repository) commitsBefore(id SHA1, limit int) (*list.List, error) {
|
||||||
cmd := NewCommand("log")
|
cmd := NewCommand("log")
|
||||||
if limit > 0 {
|
if limit > 0 {
|
||||||
cmd.AddArguments("-"+ strconv.Itoa(limit), prettyLogFormat, id.String())
|
cmd.AddArguments("-"+strconv.Itoa(limit), prettyLogFormat, id.String())
|
||||||
} else {
|
} else {
|
||||||
cmd.AddArguments(prettyLogFormat, id.String())
|
cmd.AddArguments(prettyLogFormat, id.String())
|
||||||
}
|
}
|
||||||
|
@ -316,15 +318,35 @@ func (repo *Repository) getCommitsBeforeLimit(id SHA1, num int) (*list.List, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (repo *Repository) getBranches(commit *Commit, limit int) ([]string, error) {
|
func (repo *Repository) getBranches(commit *Commit, limit int) ([]string, error) {
|
||||||
stdout, err := NewCommand("for-each-ref", "--count="+ strconv.Itoa(limit), "--format=%(refname)", "--contains", commit.ID.String(), BranchPrefix).RunInDir(repo.Path)
|
if version.Compare(gitVersion, "2.7.0", ">=") {
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
branches := strings.Fields(stdout)
|
||||||
|
return branches, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
stdout, err := NewCommand("branch", "--contains", commit.ID.String()).RunInDir(repo.Path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
refs := strings.Split(stdout, "\n")
|
refs := strings.Split(stdout, "\n")
|
||||||
branches := make([]string, len(refs)-1)
|
|
||||||
for i, ref := range refs[:len(refs)-1] {
|
var max int
|
||||||
branches[i] = strings.TrimPrefix(ref, BranchPrefix)
|
if len(refs) > limit {
|
||||||
|
max = limit
|
||||||
|
} else {
|
||||||
|
max = len(refs) - 1
|
||||||
|
}
|
||||||
|
|
||||||
|
branches := make([]string, max)
|
||||||
|
for i, ref := range refs[:max] {
|
||||||
|
parts := strings.Fields(ref)
|
||||||
|
|
||||||
|
branches[i] = parts[len(parts)-1]
|
||||||
}
|
}
|
||||||
return branches, nil
|
return branches, nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue