diff options
author | Paulo Gomes <pjbgf@linux.com> | 2023-03-07 23:31:29 +0000 |
---|---|---|
committer | Paulo Gomes <pjbgf@linux.com> | 2023-03-08 00:14:59 +0000 |
commit | 9822ad8573e374421a79c096d8f1dfa91366fb02 (patch) | |
tree | e3adb42646511378112cb05461bb8154f010ddee /plumbing/format/idxfile/encoder.go | |
parent | 99e2f85843878671b028d4d01bd4668676226dd1 (diff) | |
download | go-git-9822ad8573e374421a79c096d8f1dfa91366fb02.tar.gz |
*: Support variable length plumbing.Hash
The variable length for plumbing.Hash is defined at build time, blocked by
tag sha256.
This approach was a trade-off between keeping backwards compatibility while
making progress towards supporting SHA256 with a small amount of changes.
Relates to the SHA256 implementation, defined in #706.
Signed-off-by: Paulo Gomes <pjbgf@linux.com>
Diffstat (limited to 'plumbing/format/idxfile/encoder.go')
-rw-r--r-- | plumbing/format/idxfile/encoder.go | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/plumbing/format/idxfile/encoder.go b/plumbing/format/idxfile/encoder.go index 6ac445f..7514737 100644 --- a/plumbing/format/idxfile/encoder.go +++ b/plumbing/format/idxfile/encoder.go @@ -1,7 +1,6 @@ package idxfile import ( - "crypto" "io" "github.com/go-git/go-git/v5/plumbing/hash" @@ -16,7 +15,7 @@ type Encoder struct { // NewEncoder returns a new stream encoder that writes to w. func NewEncoder(w io.Writer) *Encoder { - h := hash.New(crypto.SHA1) + h := hash.New(hash.CryptoType) mw := io.MultiWriter(w, h) return &Encoder{mw, h} } @@ -133,10 +132,10 @@ func (e *Encoder) encodeChecksums(idx *MemoryIndex) (int, error) { return 0, err } - copy(idx.IdxChecksum[:], e.hash.Sum(nil)[:20]) + copy(idx.IdxChecksum[:], e.hash.Sum(nil)[:hash.Size]) if _, err := e.Write(idx.IdxChecksum[:]); err != nil { return 0, err } - return 40, nil + return hash.HexSize, nil } |