mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Update src-d/go-git to v4.13.0 (#7688)
* update gopkg.in/src-d/go-git.v4 v4.13.0 * mod tidy * vendor
This commit is contained in:
		
				
					committed by
					
						
						techknowlogick
					
				
			
			
				
	
			
			
			
						parent
						
							bb875e98a1
						
					
				
				
					commit
					a9b4c8171f
				
			
							
								
								
									
										1
									
								
								vendor/github.com/kevinburke/ssh_config/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/kevinburke/ssh_config/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1 +0,0 @@
 | 
			
		||||
/bazel-*
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								vendor/github.com/kevinburke/ssh_config/.mailmap
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/kevinburke/ssh_config/.mailmap
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
Kevin Burke <kevin@burke.dev> Kevin Burke <kev@inburke.com>
 | 
			
		||||
							
								
								
									
										3
									
								
								vendor/github.com/kevinburke/ssh_config/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/kevinburke/ssh_config/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -3,9 +3,8 @@ go_import_path: github.com/kevinburke/ssh_config
 | 
			
		||||
language: go
 | 
			
		||||
 | 
			
		||||
go:
 | 
			
		||||
  - 1.9.x
 | 
			
		||||
  - 1.10.x
 | 
			
		||||
  - 1.11.x
 | 
			
		||||
  - 1.12.x
 | 
			
		||||
  - master
 | 
			
		||||
 | 
			
		||||
before_script:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								vendor/github.com/kevinburke/ssh_config/AUTHORS.txt
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/kevinburke/ssh_config/AUTHORS.txt
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,4 +1,5 @@
 | 
			
		||||
Eugene Terentev <eugene@terentev.net>
 | 
			
		||||
Kevin Burke <kev@inburke.com>
 | 
			
		||||
Kevin Burke <kevin@burke.dev>
 | 
			
		||||
Mark Nevill <nev@improbable.io>
 | 
			
		||||
Sergey Lukjanov <me@slukjanov.name>
 | 
			
		||||
Wayne Ashley Berry <wayneashleyberry@gmail.com>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								vendor/github.com/kevinburke/ssh_config/Makefile
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								vendor/github.com/kevinburke/ssh_config/Makefile
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,15 +1,13 @@
 | 
			
		||||
BUMP_VERSION := $(GOPATH)/bin/bump_version
 | 
			
		||||
MEGACHECK := $(GOPATH)/bin/megacheck
 | 
			
		||||
STATICCHECK := $(GOPATH)/bin/staticcheck
 | 
			
		||||
WRITE_MAILMAP := $(GOPATH)/bin/write_mailmap
 | 
			
		||||
 | 
			
		||||
IGNORES := 'github.com/kevinburke/ssh_config/config.go:U1000 github.com/kevinburke/ssh_config/config.go:S1002 github.com/kevinburke/ssh_config/token.go:U1000'
 | 
			
		||||
$(STATICCHECK):
 | 
			
		||||
	go get honnef.co/go/tools/cmd/staticcheck
 | 
			
		||||
 | 
			
		||||
$(MEGACHECK):
 | 
			
		||||
	go get honnef.co/go/tools/cmd/megacheck
 | 
			
		||||
 | 
			
		||||
lint: $(MEGACHECK)
 | 
			
		||||
lint: $(STATICCHECK)
 | 
			
		||||
	go vet ./...
 | 
			
		||||
	$(MEGACHECK) --ignore=$(IGNORES) ./...
 | 
			
		||||
	$(STATICCHECK)
 | 
			
		||||
 | 
			
		||||
test: lint
 | 
			
		||||
	@# the timeout helps guard against infinite recursion
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										40
									
								
								vendor/github.com/kevinburke/ssh_config/config.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										40
									
								
								vendor/github.com/kevinburke/ssh_config/config.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -34,6 +34,7 @@ import (
 | 
			
		||||
	"errors"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"io"
 | 
			
		||||
	"io/ioutil"
 | 
			
		||||
	"os"
 | 
			
		||||
	osuser "os/user"
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
@@ -43,7 +44,9 @@ import (
 | 
			
		||||
	"sync"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const version = "0.5"
 | 
			
		||||
const version = "1.0"
 | 
			
		||||
 | 
			
		||||
var _ = version
 | 
			
		||||
 | 
			
		||||
type configFinder func() string
 | 
			
		||||
 | 
			
		||||
@@ -156,6 +159,7 @@ func (u *UserSettings) GetStrict(alias, key string) (string, error) {
 | 
			
		||||
		}
 | 
			
		||||
		var err error
 | 
			
		||||
		u.userConfig, err = parseFile(filename)
 | 
			
		||||
		//lint:ignore S1002 I prefer it this way
 | 
			
		||||
		if err != nil && os.IsNotExist(err) == false {
 | 
			
		||||
			u.onceErr = err
 | 
			
		||||
			return
 | 
			
		||||
@@ -166,11 +170,13 @@ func (u *UserSettings) GetStrict(alias, key string) (string, error) {
 | 
			
		||||
			filename = u.systemConfigFinder()
 | 
			
		||||
		}
 | 
			
		||||
		u.systemConfig, err = parseFile(filename)
 | 
			
		||||
		//lint:ignore S1002 I prefer it this way
 | 
			
		||||
		if err != nil && os.IsNotExist(err) == false {
 | 
			
		||||
			u.onceErr = err
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
	//lint:ignore S1002 I prefer it this way
 | 
			
		||||
	if u.onceErr != nil && u.IgnoreErrors == false {
 | 
			
		||||
		return "", u.onceErr
 | 
			
		||||
	}
 | 
			
		||||
@@ -190,26 +196,29 @@ func parseFile(filename string) (*Config, error) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func parseWithDepth(filename string, depth uint8) (*Config, error) {
 | 
			
		||||
	f, err := os.Open(filename)
 | 
			
		||||
	b, err := ioutil.ReadFile(filename)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	defer f.Close()
 | 
			
		||||
	return decode(f, isSystem(filename), depth)
 | 
			
		||||
	return decodeBytes(b, isSystem(filename), depth)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func isSystem(filename string) bool {
 | 
			
		||||
	// TODO i'm not sure this is the best way to detect a system repo
 | 
			
		||||
	// TODO: not sure this is the best way to detect a system repo
 | 
			
		||||
	return strings.HasPrefix(filepath.Clean(filename), "/etc/ssh")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Decode reads r into a Config, or returns an error if r could not be parsed as
 | 
			
		||||
// an SSH config file.
 | 
			
		||||
func Decode(r io.Reader) (*Config, error) {
 | 
			
		||||
	return decode(r, false, 0)
 | 
			
		||||
	b, err := ioutil.ReadAll(r)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return decodeBytes(b, false, 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func decode(r io.Reader, system bool, depth uint8) (c *Config, err error) {
 | 
			
		||||
func decodeBytes(b []byte, system bool, depth uint8) (c *Config, err error) {
 | 
			
		||||
	defer func() {
 | 
			
		||||
		if r := recover(); r != nil {
 | 
			
		||||
			if _, ok := r.(runtime.Error); ok {
 | 
			
		||||
@@ -223,7 +232,7 @@ func decode(r io.Reader, system bool, depth uint8) (c *Config, err error) {
 | 
			
		||||
		}
 | 
			
		||||
	}()
 | 
			
		||||
 | 
			
		||||
	c = parseSSH(lexSSH(r), system, depth)
 | 
			
		||||
	c = parseSSH(lexSSH(b), system, depth)
 | 
			
		||||
	return c, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -367,7 +376,7 @@ type Host struct {
 | 
			
		||||
	// EOLComment is the comment (if any) terminating the Host line.
 | 
			
		||||
	EOLComment   string
 | 
			
		||||
	hasEquals    bool
 | 
			
		||||
	leadingSpace uint16 // TODO: handle spaces vs tabs here.
 | 
			
		||||
	leadingSpace int // TODO: handle spaces vs tabs here.
 | 
			
		||||
	// The file starts with an implicit "Host *" declaration.
 | 
			
		||||
	implicit bool
 | 
			
		||||
}
 | 
			
		||||
@@ -379,7 +388,7 @@ func (h *Host) Matches(alias string) bool {
 | 
			
		||||
	found := false
 | 
			
		||||
	for i := range h.Patterns {
 | 
			
		||||
		if h.Patterns[i].regex.MatchString(alias) {
 | 
			
		||||
			if h.Patterns[i].not == true {
 | 
			
		||||
			if h.Patterns[i].not {
 | 
			
		||||
				// Negated match. "A pattern entry may be negated by prefixing
 | 
			
		||||
				// it with an exclamation mark (`!'). If a negated entry is
 | 
			
		||||
				// matched, then the Host entry is ignored, regardless of
 | 
			
		||||
@@ -398,6 +407,7 @@ func (h *Host) Matches(alias string) bool {
 | 
			
		||||
// present in the whitespace in the printed file.
 | 
			
		||||
func (h *Host) String() string {
 | 
			
		||||
	var buf bytes.Buffer
 | 
			
		||||
	//lint:ignore S1002 I prefer to write it this way
 | 
			
		||||
	if h.implicit == false {
 | 
			
		||||
		buf.WriteString(strings.Repeat(" ", int(h.leadingSpace)))
 | 
			
		||||
		buf.WriteString("Host")
 | 
			
		||||
@@ -438,7 +448,7 @@ type KV struct {
 | 
			
		||||
	Value        string
 | 
			
		||||
	Comment      string
 | 
			
		||||
	hasEquals    bool
 | 
			
		||||
	leadingSpace uint16 // Space before the key. TODO handle spaces vs tabs.
 | 
			
		||||
	leadingSpace int // Space before the key. TODO handle spaces vs tabs.
 | 
			
		||||
	position     Position
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -467,7 +477,7 @@ func (k *KV) String() string {
 | 
			
		||||
// Empty is a line in the config file that contains only whitespace or comments.
 | 
			
		||||
type Empty struct {
 | 
			
		||||
	Comment      string
 | 
			
		||||
	leadingSpace uint16 // TODO handle spaces vs tabs.
 | 
			
		||||
	leadingSpace int // TODO handle spaces vs tabs.
 | 
			
		||||
	position     Position
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -494,7 +504,6 @@ type Include struct {
 | 
			
		||||
	// Comment is the contents of any comment at the end of the Include
 | 
			
		||||
	// statement.
 | 
			
		||||
	Comment string
 | 
			
		||||
	parsed  bool
 | 
			
		||||
	// an include directive can include several different files, and wildcards
 | 
			
		||||
	directives []string
 | 
			
		||||
 | 
			
		||||
@@ -504,7 +513,7 @@ type Include struct {
 | 
			
		||||
	matches []string
 | 
			
		||||
	// actual filenames are listed here
 | 
			
		||||
	files        map[string]*Config
 | 
			
		||||
	leadingSpace uint16
 | 
			
		||||
	leadingSpace int
 | 
			
		||||
	position     Position
 | 
			
		||||
	depth        uint8
 | 
			
		||||
	hasEquals    bool
 | 
			
		||||
@@ -523,6 +532,7 @@ func removeDups(arr []string) []string {
 | 
			
		||||
	result := make([]string, 0)
 | 
			
		||||
 | 
			
		||||
	for v := range arr {
 | 
			
		||||
		//lint:ignore S1002 I prefer it this way
 | 
			
		||||
		if encountered[arr[v]] == false {
 | 
			
		||||
			encountered[arr[v]] = true
 | 
			
		||||
			result = append(result, arr[v])
 | 
			
		||||
@@ -544,7 +554,7 @@ func NewInclude(directives []string, hasEquals bool, pos Position, comment strin
 | 
			
		||||
		directives:   directives,
 | 
			
		||||
		files:        make(map[string]*Config),
 | 
			
		||||
		position:     pos,
 | 
			
		||||
		leadingSpace: uint16(pos.Col) - 1,
 | 
			
		||||
		leadingSpace: pos.Col - 1,
 | 
			
		||||
		depth:        depth,
 | 
			
		||||
		hasEquals:    hasEquals,
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										47
									
								
								vendor/github.com/kevinburke/ssh_config/lexer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										47
									
								
								vendor/github.com/kevinburke/ssh_config/lexer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,22 +1,22 @@
 | 
			
		||||
package ssh_config
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"io"
 | 
			
		||||
 | 
			
		||||
	buffruneio "github.com/pelletier/go-buffruneio"
 | 
			
		||||
	"bytes"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Define state functions
 | 
			
		||||
type sshLexStateFn func() sshLexStateFn
 | 
			
		||||
 | 
			
		||||
type sshLexer struct {
 | 
			
		||||
	input         *buffruneio.Reader // Textual source
 | 
			
		||||
	buffer        []rune             // Runes composing the current token
 | 
			
		||||
	inputIdx int
 | 
			
		||||
	input    []rune // Textual source
 | 
			
		||||
 | 
			
		||||
	buffer        []rune // Runes composing the current token
 | 
			
		||||
	tokens        chan token
 | 
			
		||||
	line          uint32
 | 
			
		||||
	col           uint16
 | 
			
		||||
	endbufferLine uint32
 | 
			
		||||
	endbufferCol  uint16
 | 
			
		||||
	line          int
 | 
			
		||||
	col           int
 | 
			
		||||
	endbufferLine int
 | 
			
		||||
	endbufferCol  int
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *sshLexer) lexComment(previousState sshLexStateFn) sshLexStateFn {
 | 
			
		||||
@@ -114,16 +114,14 @@ func (s *sshLexer) lexRvalue() sshLexStateFn {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *sshLexer) read() rune {
 | 
			
		||||
	r, _, err := s.input.ReadRune()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	}
 | 
			
		||||
	r := s.peek()
 | 
			
		||||
	if r == '\n' {
 | 
			
		||||
		s.endbufferLine++
 | 
			
		||||
		s.endbufferCol = 1
 | 
			
		||||
	} else {
 | 
			
		||||
		s.endbufferCol++
 | 
			
		||||
	}
 | 
			
		||||
	s.inputIdx++
 | 
			
		||||
	return r
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -197,21 +195,22 @@ func (s *sshLexer) emitWithValue(t tokenType, value string) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *sshLexer) peek() rune {
 | 
			
		||||
	r, _, err := s.input.ReadRune()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	if s.inputIdx >= len(s.input) {
 | 
			
		||||
		return eof
 | 
			
		||||
	}
 | 
			
		||||
	s.input.UnreadRune()
 | 
			
		||||
 | 
			
		||||
	r := s.input[s.inputIdx]
 | 
			
		||||
	return r
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *sshLexer) follow(next string) bool {
 | 
			
		||||
	inputIdx := s.inputIdx
 | 
			
		||||
	for _, expectedRune := range next {
 | 
			
		||||
		r, _, err := s.input.ReadRune()
 | 
			
		||||
		defer s.input.UnreadRune()
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			panic(err)
 | 
			
		||||
		if inputIdx >= len(s.input) {
 | 
			
		||||
			return false
 | 
			
		||||
		}
 | 
			
		||||
		r := s.input[inputIdx]
 | 
			
		||||
		inputIdx++
 | 
			
		||||
		if expectedRune != r {
 | 
			
		||||
			return false
 | 
			
		||||
		}
 | 
			
		||||
@@ -226,10 +225,10 @@ func (s *sshLexer) run() {
 | 
			
		||||
	close(s.tokens)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func lexSSH(input io.Reader) chan token {
 | 
			
		||||
	bufferedInput := buffruneio.NewReader(input)
 | 
			
		||||
func lexSSH(input []byte) chan token {
 | 
			
		||||
	runes := bytes.Runes(input)
 | 
			
		||||
	l := &sshLexer{
 | 
			
		||||
		input:         bufferedInput,
 | 
			
		||||
		input:         runes,
 | 
			
		||||
		tokens:        make(chan token),
 | 
			
		||||
		line:          1,
 | 
			
		||||
		col:           1,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								vendor/github.com/kevinburke/ssh_config/parser.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/github.com/kevinburke/ssh_config/parser.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -149,7 +149,7 @@ func (p *sshParser) parseKV() sshParserStateFn {
 | 
			
		||||
		Value:        val.val,
 | 
			
		||||
		Comment:      comment,
 | 
			
		||||
		hasEquals:    hasEquals,
 | 
			
		||||
		leadingSpace: uint16(key.Position.Col) - 1,
 | 
			
		||||
		leadingSpace: key.Position.Col - 1,
 | 
			
		||||
		position:     key.Position,
 | 
			
		||||
	}
 | 
			
		||||
	lastHost.Nodes = append(lastHost.Nodes, kv)
 | 
			
		||||
@@ -169,6 +169,12 @@ func (p *sshParser) parseComment() sshParserStateFn {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func parseSSH(flow chan token, system bool, depth uint8) *Config {
 | 
			
		||||
	// Ensure we consume tokens to completion even if parser exits early
 | 
			
		||||
	defer func() {
 | 
			
		||||
		for range flow {
 | 
			
		||||
		}
 | 
			
		||||
	}()
 | 
			
		||||
 | 
			
		||||
	result := newConfig()
 | 
			
		||||
	result.position = Position{1, 1}
 | 
			
		||||
	parser := &sshParser{
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/github.com/kevinburke/ssh_config/position.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/kevinburke/ssh_config/position.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -8,8 +8,8 @@ import "fmt"
 | 
			
		||||
// column number, respectively.  Values of zero or less will cause Invalid(),
 | 
			
		||||
// to return true.
 | 
			
		||||
type Position struct {
 | 
			
		||||
	Line uint32 // line within the document
 | 
			
		||||
	Col  uint16 // column within the line
 | 
			
		||||
	Line int // line within the document
 | 
			
		||||
	Col  int // column within the line
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// String representation of the position.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user