ref: d314d1f7e933ca83081eec289aa0cb6e75a7eeac
dir: /commitgraph/read/open.go/
package read
import (
"fmt"
"os"
"codeberg.org/lindenii/furgit/objectid"
)
// Open opens commit-graph data from one objects root.
func Open(root *os.Root, algo objectid.Algorithm, mode OpenMode) (*Reader, error) {
if algo.Size() == 0 {
return nil, objectid.ErrInvalidAlgorithm
}
switch mode {
case OpenSingle:
return openSingle(root, algo)
case OpenChain:
return openChain(root, algo)
default:
return nil, fmt.Errorf("commitgraph: invalid open mode %d", mode)
}
}