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.