Update vendor git (#2765)

release/v1.3
Lauris BH 7 years ago committed by GitHub
parent 81d1e54a49
commit 9ba7898911

@ -15,3 +15,5 @@ Thomas Boerger <thomas@webhippie.de> (@tboerger)
Lauris Bukšis-Haberkorns <lauris@nix.lv> (@lafriks) Lauris Bukšis-Haberkorns <lauris@nix.lv> (@lafriks)
Antoine Girard <sapk@sapk.fr> (@sapk) Antoine Girard <sapk@sapk.fr> (@sapk)
Jonas Östanbäck <jonas.ostanback@gmail.com> (@cez81) Jonas Östanbäck <jonas.ostanback@gmail.com> (@cez81)
David Schneiderbauer <dschneiderbauer@gmail.com> (@daviian)
Peter Žeby <morlinest@gmail.com> (@morlinest)

@ -12,8 +12,6 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"strings" "strings"
"github.com/mcuadros/go-version"
) )
// Commit represents a git commit. // Commit represents a git commit.
@ -160,13 +158,7 @@ func CommitChanges(repoPath string, opts CommitChangesOptions) error {
func commitsCount(repoPath, revision, relpath string) (int64, error) { func commitsCount(repoPath, revision, relpath string) (int64, error) {
var cmd *Command var cmd *Command
isFallback := false cmd = NewCommand("rev-list", "--count")
if version.Compare(gitVersion, "1.8.0", "<") {
isFallback = true
cmd = NewCommand("log", "--pretty=format:''")
} else {
cmd = NewCommand("rev-list", "--count")
}
cmd.AddArguments(revision) cmd.AddArguments(revision)
if len(relpath) > 0 { if len(relpath) > 0 {
cmd.AddArguments("--", relpath) cmd.AddArguments("--", relpath)
@ -177,9 +169,6 @@ func commitsCount(repoPath, revision, relpath string) (int64, error) {
return 0, err return 0, err
} }
if isFallback {
return int64(strings.Count(stdout, "\n")) + 1, nil
}
return strconv.ParseInt(strings.TrimSpace(stdout), 10, 64) return strconv.ParseInt(strings.TrimSpace(stdout), 10, 64)
} }

@ -7,8 +7,6 @@ package git
import ( import (
"fmt" "fmt"
"strings" "strings"
"github.com/mcuadros/go-version"
) )
// BranchPrefix base dir of the branch information file store on git // BranchPrefix base dir of the branch information file store on git
@ -56,10 +54,6 @@ func (repo *Repository) GetHEADBranch() (*Branch, error) {
// SetDefaultBranch sets default branch of repository. // SetDefaultBranch sets default branch of repository.
func (repo *Repository) SetDefaultBranch(name string) error { func (repo *Repository) SetDefaultBranch(name string) error {
if version.Compare(gitVersion, "1.7.10", "<") {
return ErrUnsupportedVersion{"1.7.10"}
}
_, err := NewCommand("symbolic-ref", "HEAD", BranchPrefix+name).RunInDir(repo.Path) _, err := NewCommand("symbolic-ref", "HEAD", BranchPrefix+name).RunInDir(repo.Path)
return err return err
} }

@ -10,8 +10,6 @@ import (
"fmt" "fmt"
"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).
@ -248,37 +246,11 @@ func (repo *Repository) FilesCountBetween(startCommitID, endCommitID string) (in
// CommitsBetween returns a list that contains commits between [last, before). // CommitsBetween returns a list that contains commits between [last, before).
func (repo *Repository) CommitsBetween(last *Commit, before *Commit) (*list.List, error) { func (repo *Repository) CommitsBetween(last *Commit, before *Commit) (*list.List, error) {
if version.Compare(gitVersion, "1.8.0", ">=") { stdout, err := NewCommand("rev-list", before.ID.String()+"..."+last.ID.String()).RunInDirBytes(repo.Path)
stdout, err := NewCommand("rev-list", before.ID.String()+"..."+last.ID.String()).RunInDirBytes(repo.Path) if err != nil {
if err != nil { return nil, err
return nil, err
}
return repo.parsePrettyFormatLogToList(bytes.TrimSpace(stdout))
}
// Fallback to stupid solution, which iterates all commits of the repository
// if before is not an ancestor of last.
l := list.New()
if last == nil || last.ParentCount() == 0 {
return l, nil
}
var err error
cur := last
for {
if cur.ID.Equal(before.ID) {
break
}
l.PushBack(cur)
if cur.ParentCount() == 0 {
break
}
cur, err = cur.Parent(0)
if err != nil {
return nil, err
}
} }
return l, nil return repo.parsePrettyFormatLogToList(bytes.TrimSpace(stdout))
} }
// CommitsBetweenIDs return commits between twoe commits // CommitsBetweenIDs return commits between twoe commits

@ -32,17 +32,22 @@ func newSignatureFromCommitline(line []byte) (_ *Signature, err error) {
sig.Email = string(line[emailStart+1 : emailEnd]) sig.Email = string(line[emailStart+1 : emailEnd])
// Check date format. // Check date format.
firstChar := line[emailEnd+2] if len(line) > emailEnd+2 {
if firstChar >= 48 && firstChar <= 57 { firstChar := line[emailEnd+2]
timestop := bytes.IndexByte(line[emailEnd+2:], ' ') if firstChar >= 48 && firstChar <= 57 {
timestring := string(line[emailEnd+2 : emailEnd+2+timestop]) timestop := bytes.IndexByte(line[emailEnd+2:], ' ')
seconds, _ := strconv.ParseInt(timestring, 10, 64) timestring := string(line[emailEnd+2 : emailEnd+2+timestop])
sig.When = time.Unix(seconds, 0) seconds, _ := strconv.ParseInt(timestring, 10, 64)
} else { sig.When = time.Unix(seconds, 0)
sig.When, err = time.Parse("Mon Jan _2 15:04:05 2006 -0700", string(line[emailEnd+2:])) } else {
if err != nil { sig.When, err = time.Parse("Mon Jan _2 15:04:05 2006 -0700", string(line[emailEnd+2:]))
return nil, err if err != nil {
return nil, err
}
} }
} else {
// Fall back to unix 0 time
sig.When = time.Unix(0, 0)
} }
return sig, nil return sig, nil
} }

@ -3,10 +3,10 @@
"ignore": "test appengine", "ignore": "test appengine",
"package": [ "package": [
{ {
"checksumSHA1": "9dxw/SGpdhNNm704gt6F02ItYtQ=", "checksumSHA1": "JN/re4+x/hCzMLGHmieUcykVDAg=",
"path": "code.gitea.io/git", "path": "code.gitea.io/git",
"revision": "d7487da878e40ee6c4fac7280b518c0ed0be702c", "revision": "d47b98c44c9a6472e44ab80efe65235e11c6da2a",
"revisionTime": "2017-09-16T17:49:37Z" "revisionTime": "2017-10-23T00:52:09Z"
}, },
{ {
"checksumSHA1": "Zgp5RqU+20L2p9TNl1rSsUIWEEE=", "checksumSHA1": "Zgp5RqU+20L2p9TNl1rSsUIWEEE=",

Loading…
Cancel
Save