aboutsummaryrefslogtreecommitdiff
path: root/format/commitgraph/layer_open.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-06 11:54:21 +0800
committerGravatar Runxi Yu2026-03-06 11:55:56 +0800
commitc62c5544fa23378843a3383a9dcd4494e5ea33bc (patch)
tree8b825a36767fe0ba3fb44f27cb634047c4c0318f /format/commitgraph/layer_open.go
parentformat/pack/ingest: Fix delta apply import (diff)
signatureNo 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.go80
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
-}