diff options
| author | 2026-03-06 11:54:21 +0800 | |
|---|---|---|
| committer | 2026-03-06 11:55:56 +0800 | |
| commit | c62c5544fa23378843a3383a9dcd4494e5ea33bc (patch) | |
| tree | 8b825a36767fe0ba3fb44f27cb634047c4c0318f /format/commitgraph/layer_open.go | |
| parent | format/pack/ingest: Fix delta apply import (diff) | |
| signature | No signature | |
format/commitgraph: Split into ./read and ./ v0.1.60
Diffstat (limited to 'format/commitgraph/layer_open.go')
| -rw-r--r-- | format/commitgraph/layer_open.go | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/format/commitgraph/layer_open.go b/format/commitgraph/layer_open.go deleted file mode 100644 index 857b3022..00000000 --- a/format/commitgraph/layer_open.go +++ /dev/null @@ -1,80 +0,0 @@ -package commitgraph - -import ( - "os" - "syscall" - - "codeberg.org/lindenii/furgit/internal/intconv" - "codeberg.org/lindenii/furgit/objectid" -) - -func openLayer(root *os.Root, relPath string, algo objectid.Algorithm) (*layer, error) { - file, err := root.Open(relPath) - if err != nil { - return nil, err - } - - info, err := file.Stat() - if err != nil { - _ = file.Close() - - return nil, err - } - - size := info.Size() - if size < int64(headerSize+fanoutSize+algo.Size()) { - _ = file.Close() - - return nil, &ErrMalformed{Path: relPath, Reason: "file too short"} - } - - mapLen, err := intconv.Int64ToUint64(size) - if err != nil { - _ = file.Close() - - return nil, err - } - - mapLenInt, err := intconv.Uint64ToInt(mapLen) - if err != nil { - _ = file.Close() - - return nil, err - } - - fd, err := intconv.UintptrToInt(file.Fd()) - if err != nil { - _ = file.Close() - - return nil, err - } - - data, err := syscall.Mmap(fd, 0, mapLenInt, syscall.PROT_READ, syscall.MAP_PRIVATE) - if err != nil { - _ = file.Close() - - return nil, err - } - - out := &layer{ - path: relPath, - file: file, - data: data, - } - - parseErr := parseLayer(out, algo) - if parseErr != nil { - _ = out.close() - - return nil, parseErr - } - - verifyErr := verifyTrailerHash(out.data, algo, relPath) - if verifyErr != nil { - _ = out.close() - - return nil, verifyErr - } - - return out, nil -} |
