Documentation
¶
Index ¶
- Constants
- func ReadGitVLQ(in io.Reader) (int64, error)
- func ReadSimple7bitsInt(in io.Reader) (int64, error)
- type CheckFlag
- type ComplexPack
- type DeltaInstruction
- type DeltaInstructionCode
- type EntityFile
- func (inst *EntityFile) Check(flags CheckFlag) error
- func (inst *EntityFile) GetPackID() git.PackID
- func (inst *EntityFile) IndexToHeader(src *git.PackIndexItem) *git.PackedObjectHeaderEx
- func (inst *EntityFile) Init(file *File) error
- func (inst *EntityFile) Load() error
- func (inst *EntityFile) OpenObjectReader(item *git.PackedObjectHeaderEx, pool afs.ReaderPool) (*git.PackedObjectHeaderEx, io.ReadCloser, error)
- func (inst *EntityFile) OpenSimpleObjectReader(item *git.PackedObjectHeaderEx, pool afs.ReaderPool) (*git.PackedObjectHeaderEx, io.ReadCloser, error)
- func (inst *EntityFile) ReadObjectHeader(item *git.PackedObjectHeaderEx, pool afs.ReaderPool) (*git.PackedObjectHeaderEx, error)
- func (inst *EntityFile) ReadSimpleObjectHeader(item *git.PackedObjectHeaderEx, pool afs.ReaderPool) (*git.PackedObjectHeaderEx, error)
- func (inst *EntityFile) Reload() error
- func (inst *EntityFile) Scan() ([]*git.PackedObjectHeaderEx, error)
- type File
- type FileType
- type Idx
- type IdxBuilder
- type Pack
Constants ¶
View Source
const (
MagicNumberIdxV2 = 0xff744f63 // aka `\xfftOc`
)
定义魔数
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ComplexPack ¶ added in v0.0.13
type ComplexPack interface {
Pack
// 打开 in-pack 对象读者,如果是 delta 对象,执行重建
OpenComplexObjectReader(item *git.PackedObjectHeaderEx, pool afs.ReaderPool) (*git.PackedObjectHeaderEx, io.ReadCloser, error)
// 读取 in-pack 对象头,如果是 delta 对象,执行重建
ReadComplexObjectHeader(item *git.PackedObjectHeaderEx, pool afs.ReaderPool) (*git.PackedObjectHeaderEx, error)
// 生成 .idx 文件
MakeIdx(idxFile afs.Path) error
}
ComplexPack 表示一个 pack-*.pack 文件, 支持对象重建
func NewComplexPack ¶ added in v0.0.13
func NewComplexPack(file *File) (ComplexPack, error)
NewComplexPack ...
type DeltaInstruction ¶ added in v0.0.13
type DeltaInstruction struct {
Code DeltaInstructionCode
Offset uint32
Size uint32
Data []byte
}
DeltaInstruction 表示一条 delta 指令
type DeltaInstructionCode ¶ added in v0.0.13
type DeltaInstructionCode int
DeltaInstructionCode ...
const ( InstructionCopyFromBase DeltaInstructionCode = 1 InstructionAddNewData DeltaInstructionCode = 2 )
定义pack-delta的指令
type EntityFile ¶
type EntityFile struct {
// contains filtered or unexported fields
}
EntityFile ...
func (*EntityFile) IndexToHeader ¶ added in v0.0.13
func (inst *EntityFile) IndexToHeader(src *git.PackIndexItem) *git.PackedObjectHeaderEx
IndexToHeader ...
func (*EntityFile) OpenObjectReader ¶
func (inst *EntityFile) OpenObjectReader(item *git.PackedObjectHeaderEx, pool afs.ReaderPool) (*git.PackedObjectHeaderEx, io.ReadCloser, error)
OpenObjectReader ...
func (*EntityFile) OpenSimpleObjectReader ¶ added in v0.0.13
func (inst *EntityFile) OpenSimpleObjectReader(item *git.PackedObjectHeaderEx, pool afs.ReaderPool) (*git.PackedObjectHeaderEx, io.ReadCloser, error)
OpenSimpleObjectReader ...
func (*EntityFile) ReadObjectHeader ¶
func (inst *EntityFile) ReadObjectHeader(item *git.PackedObjectHeaderEx, pool afs.ReaderPool) (*git.PackedObjectHeaderEx, error)
ReadObjectHeader ...
func (*EntityFile) ReadSimpleObjectHeader ¶ added in v0.0.13
func (inst *EntityFile) ReadSimpleObjectHeader(item *git.PackedObjectHeaderEx, pool afs.ReaderPool) (*git.PackedObjectHeaderEx, error)
ReadSimpleObjectHeader ...
func (*EntityFile) Scan ¶ added in v0.0.13
func (inst *EntityFile) Scan() ([]*git.PackedObjectHeaderEx, error)
Scan ...
type Idx ¶
type Idx interface {
Load() error
Reload() error
Check(flags CheckFlag) error
GetPackID() git.PackID
Find(oid git.ObjectID) (*git.PackIndexItem, error)
Count() int64
GetItem(index int64) (*git.PackIndexItem, error)
GetItems(index int64, limit int) ([]*git.PackIndexItem, error)
}
Idx 表示一个 pack-*.idx 文件
type IdxBuilder ¶ added in v0.0.13
type IdxBuilder interface {
AddItem(item *git.PackedObjectHeaderEx) error
Make(dst afs.Path) error
}
IdxBuilder ...
type Pack ¶
type Pack interface {
Load() error
Reload() error
Check(flags CheckFlag) error
GetPackID() git.PackID
Scan() ([]*git.PackedObjectHeaderEx, error)
OpenSimpleObjectReader(item *git.PackedObjectHeaderEx, pool afs.ReaderPool) (*git.PackedObjectHeaderEx, io.ReadCloser, error)
ReadSimpleObjectHeader(item *git.PackedObjectHeaderEx, pool afs.ReaderPool) (*git.PackedObjectHeaderEx, error)
// 如果 pool 参数为 nil, 则使用内部的 pool 提供数据来源
OpenObjectReader(item *git.PackedObjectHeaderEx, pool afs.ReaderPool) (*git.PackedObjectHeaderEx, io.ReadCloser, error)
// 如果 pool 参数为 nil, 则使用内部的 pool 提供数据来源
ReadObjectHeader(item *git.PackedObjectHeaderEx, pool afs.ReaderPool) (*git.PackedObjectHeaderEx, error)
// 把 PackIndexItem 转换为 PackedObjectHeaderEx
IndexToHeader(item *git.PackIndexItem) *git.PackedObjectHeaderEx
}
Pack 表示一个 pack-*.pack 文件
Click to show internal directories.
Click to hide internal directories.