Update vendor git (#2765)
This commit is contained in:
		
							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))
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						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
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 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…
	
		Reference in New Issue