diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2016-12-22 17:30:52 +0800 |
---|---|---|
committer | Thomas Boerger <thomas@webhippie.de> | 2016-12-22 10:30:52 +0100 |
commit | 47a7529d9655e11471bbe39958222a13854a6133 (patch) | |
tree | 98e597255245e17d39a0062c3977fb8a510cf413 /vendor/code.gitea.io/git/sha1.go | |
parent | 0c5c34d7ddaf31a6d8123dac36b221de61f5ff96 (diff) | |
download | gitea-47a7529d9655e11471bbe39958222a13854a6133.tar.gz gitea-47a7529d9655e11471bbe39958222a13854a6133.zip |
update code.gitea.io/git (#450)
Diffstat (limited to 'vendor/code.gitea.io/git/sha1.go')
-rw-r--r-- | vendor/code.gitea.io/git/sha1.go | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/vendor/code.gitea.io/git/sha1.go b/vendor/code.gitea.io/git/sha1.go index 7744275d85..50708dee8b 100644 --- a/vendor/code.gitea.io/git/sha1.go +++ b/vendor/code.gitea.io/git/sha1.go @@ -10,13 +10,15 @@ import ( "strings" ) -const EMPTY_SHA = "0000000000000000000000000000000000000000" +// EmptySHA defines empty git SHA +const EmptySHA = "0000000000000000000000000000000000000000" -type sha1 [20]byte +// SHA1 a git commit name +type SHA1 [20]byte -// Equal returns true if s has the same sha1 as caller. -// Support 40-length-string, []byte, sha1. -func (id sha1) Equal(s2 interface{}) bool { +// Equal returns true if s has the same SHA1 as caller. +// Support 40-length-string, []byte, SHA1. +func (id SHA1) Equal(s2 interface{}) bool { switch v := s2.(type) { case string: if len(v) != 40 { @@ -32,7 +34,7 @@ func (id sha1) Equal(s2 interface{}) bool { return false } } - case sha1: + case SHA1: for i, v := range v { if id[i] != v { return false @@ -45,42 +47,42 @@ func (id sha1) Equal(s2 interface{}) bool { } // String returns string (hex) representation of the Oid. -func (s sha1) String() string { +func (id SHA1) String() string { result := make([]byte, 0, 40) hexvalues := []byte("0123456789abcdef") for i := 0; i < 20; i++ { - result = append(result, hexvalues[s[i]>>4]) - result = append(result, hexvalues[s[i]&0xf]) + result = append(result, hexvalues[id[i]>>4]) + result = append(result, hexvalues[id[i]&0xf]) } return string(result) } -// MustID always creates a new sha1 from a [20]byte array with no validation of input. -func MustID(b []byte) sha1 { - var id sha1 +// MustID always creates a new SHA1 from a [20]byte array with no validation of input. +func MustID(b []byte) SHA1 { + var id SHA1 for i := 0; i < 20; i++ { id[i] = b[i] } return id } -// NewID creates a new sha1 from a [20]byte array. -func NewID(b []byte) (sha1, error) { +// NewID creates a new SHA1 from a [20]byte array. +func NewID(b []byte) (SHA1, error) { if len(b) != 20 { - return sha1{}, fmt.Errorf("Length must be 20: %v", b) + return SHA1{}, fmt.Errorf("Length must be 20: %v", b) } return MustID(b), nil } // MustIDFromString always creates a new sha from a ID with no validation of input. -func MustIDFromString(s string) sha1 { +func MustIDFromString(s string) SHA1 { b, _ := hex.DecodeString(s) return MustID(b) } -// NewIDFromString creates a new sha1 from a ID string of length 40. -func NewIDFromString(s string) (sha1, error) { - var id sha1 +// NewIDFromString creates a new SHA1 from a ID string of length 40. +func NewIDFromString(s string) (SHA1, error) { + var id SHA1 s = strings.TrimSpace(s) if len(s) != 40 { return id, fmt.Errorf("Length must be 40: %s", s) |