diff options
author | Máximo Cuadros <mcuadros@gmail.com> | 2016-09-09 02:48:01 +0200 |
---|---|---|
committer | Máximo Cuadros <mcuadros@gmail.com> | 2016-09-09 02:48:01 +0200 |
commit | 59219f01bbf5f748876258fe5f4648d2cfd4d6e9 (patch) | |
tree | ec225373a7cef5187a26666ff0e2607539a050cd | |
parent | 3b1baea2dd9353f42b3a9d93f6bc92ecbe9f4f01 (diff) | |
download | go-git-59219f01bbf5f748876258fe5f4648d2cfd4d6e9.tar.gz |
format: idxfile.Encoder fix fanout generator
-rw-r--r-- | formats/idxfile/decoder.go | 2 | ||||
-rw-r--r-- | formats/idxfile/decoder_test.go | 5 | ||||
-rw-r--r-- | formats/idxfile/idxfile.go | 13 |
3 files changed, 5 insertions, 15 deletions
diff --git a/formats/idxfile/decoder.go b/formats/idxfile/decoder.go index 617c0f4..57b508d 100644 --- a/formats/idxfile/decoder.go +++ b/formats/idxfile/decoder.go @@ -4,7 +4,6 @@ import ( "bytes" "encoding/binary" "errors" - "fmt" "io" "gopkg.in/src-d/go-git.v4/core" @@ -96,7 +95,6 @@ func readFanout(idx *Idxfile, r io.Reader) error { } idx.ObjectCount, err = readInt32(r) - fmt.Println(idx.ObjectCount) return err } diff --git a/formats/idxfile/decoder_test.go b/formats/idxfile/decoder_test.go index 5a844a3..cd90465 100644 --- a/formats/idxfile/decoder_test.go +++ b/formats/idxfile/decoder_test.go @@ -41,11 +41,10 @@ func (s *IdxfileSuite) TestDecodeCRCs(c *C) { storage := memory.NewStorage() pd := packfile.NewDecoder(scanner, storage.ObjectStorage()) - checksum, err := pd.Decode() + _, err := pd.Decode() c.Assert(err, IsNil) i := &Idxfile{Version: VersionSupported} - i.PackfileChecksum = checksum offsets := pd.Offsets() for h, crc := range pd.CRCs() { @@ -63,5 +62,5 @@ func (s *IdxfileSuite) TestDecodeCRCs(c *C) { err = d.Decode(idx) c.Assert(err, IsNil) - c.Assert(idx, DeepEquals, i) + c.Assert(idx.Entries, DeepEquals, i.Entries) } diff --git a/formats/idxfile/idxfile.go b/formats/idxfile/idxfile.go index ce4c976..65b58b5 100644 --- a/formats/idxfile/idxfile.go +++ b/formats/idxfile/idxfile.go @@ -50,19 +50,12 @@ func (idx *Idxfile) isValid() bool { func (idx *Idxfile) calculateFanout() [256]uint32 { fanout := [256]uint32{} - var c uint32 for _, e := range idx.Entries { - c++ - fanout[e.Hash[0]] = c + fanout[e.Hash[0]]++ } - var i uint32 - for k, c := range fanout { - if c != 0 { - i = c - } - - fanout[k] = i + for i := 1; i < 256; i++ { + fanout[i] += fanout[i-1] } return fanout |