aboutsummaryrefslogtreecommitdiffstats
path: root/formats/idxfile/idxfile.go
diff options
context:
space:
mode:
Diffstat (limited to 'formats/idxfile/idxfile.go')
-rw-r--r--formats/idxfile/idxfile.go62
1 files changed, 0 insertions, 62 deletions
diff --git a/formats/idxfile/idxfile.go b/formats/idxfile/idxfile.go
deleted file mode 100644
index 8549d3f..0000000
--- a/formats/idxfile/idxfile.go
+++ /dev/null
@@ -1,62 +0,0 @@
-package idxfile
-
-import "gopkg.in/src-d/go-git.v4/core"
-
-const (
- // VersionSupported is the only idx version supported.
- VersionSupported = 2
-)
-
-var (
- idxHeader = []byte{255, 't', 'O', 'c'}
-)
-
-// An Idxfile represents an idx file in memory.
-type Idxfile struct {
- Version uint32
- Fanout [255]uint32
- ObjectCount uint32
- Entries EntryList
- PackfileChecksum [20]byte
- IdxChecksum [20]byte
-}
-
-// An Entry represents data about an object in the packfile: its hash,
-// offset and CRC32 checksum.
-type Entry struct {
- Hash core.Hash
- CRC32 uint32
- Offset uint64
-}
-
-func (idx *Idxfile) Add(h core.Hash, offset uint64, crc32 uint32) {
- idx.Entries = append(idx.Entries, Entry{
- Hash: h,
- Offset: offset,
- CRC32: crc32,
- })
-}
-
-func (idx *Idxfile) isValid() bool {
- fanout := idx.calculateFanout()
- for k, c := range idx.Fanout {
- if fanout[k] != c {
- return false
- }
- }
-
- return true
-}
-
-func (idx *Idxfile) calculateFanout() [256]uint32 {
- fanout := [256]uint32{}
- for _, e := range idx.Entries {
- fanout[e.Hash[0]]++
- }
-
- for i := 1; i < 256; i++ {
- fanout[i] += fanout[i-1]
- }
-
- return fanout
-}