git

package
v0.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 22, 2022 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HashBytes added in v0.0.5

func HashBytes(x HashID) []byte

HashBytes 稳妥的取 bytes

func HashEqual added in v0.0.5

func HashEqual(x, y HashID) bool

HashEqual 判断两个ID是否相等

func HashString added in v0.0.5

func HashString(x HashID) string

HashString 稳妥的取 string

func SetDefaultIdentityFactory added in v0.0.5

func SetDefaultIdentityFactory(f IdentityFactory)

SetDefaultIdentityFactory ...

Types

type Commit added in v0.0.2

type Commit struct {
	HyperMessage

	Parents   []ObjectID
	Tree      ObjectID
	Author    *Operator
	Committer *Operator
}

Commit ...

type HEAD struct {
	Name ReferenceName // the Primary-Key
	ID   ObjectID      // 不常用
}

HEAD 是表示一个 .git/HEAD 的实体

type HashID added in v0.0.5

type HashID interface {
	GetFactory() IdentityFactory

	// size in bits
	Size() int

	Bytes() []byte

	String() string
}

HashID 表示git的一个 hash 值

func HashZero added in v0.0.5

func HashZero() HashID

HashZero 取 0

type HyperHeader added in v0.0.5

type HyperHeader struct {
	Name   string
	Values []string
}

HyperHeader ...

func (*HyperHeader) AddValue added in v0.0.5

func (inst *HyperHeader) AddValue(v string)

AddValue ....

func (*HyperHeader) AddValues added in v0.0.5

func (inst *HyperHeader) AddValues(src []string)

AddValues ....

type HyperMessage added in v0.0.5

type HyperMessage struct {
	ID      ObjectID
	Headers map[string]*HyperHeader
	Content string
}

HyperMessage ...

type IdentityFactory added in v0.0.5

type IdentityFactory interface {

	// size in bits
	Size() int

	Zero() HashID

	Create(b []byte) HashID

	Parse(s string) HashID

	TryCreate(b []byte) (HashID, error)

	TryParse(s string) (HashID, error)
}

IdentityFactory 表示git的一个 hash 值

func DefaultIdentityFactory added in v0.0.5

func DefaultIdentityFactory() IdentityFactory

DefaultIdentityFactory ...

type ObjectID added in v0.0.5

type ObjectID interface {
	HashID
}

ObjectID 表示git的 object-ID

func CreateObjectID added in v0.0.5

func CreateObjectID(b []byte) (ObjectID, error)

CreateObjectID ...

func ParseObjectID added in v0.0.5

func ParseObjectID(s string) (ObjectID, error)

ParseObjectID ...

type Operator added in v0.0.5

type Operator struct {
	Name  string
	Email string
	Time  time.Time
	Zone  string
}

Operator ...

type PackID added in v0.0.5

type PackID interface {
	HashID
}

PackID 表示git的包ID

func CreatePackID added in v0.0.5

func CreatePackID(b []byte) (PackID, error)

CreatePackID ...

func ParsePackID added in v0.0.5

func ParsePackID(s string) (PackID, error)

ParsePackID ...

type Properties added in v0.0.5

type Properties struct {
	// contains filtered or unexported fields
}

Properties 表示属性文档格式,例如 .git/config 文件

func (*Properties) Clear added in v0.0.5

func (inst *Properties) Clear()

Clear ...

func (*Properties) Export added in v0.0.5

func (inst *Properties) Export(dst map[string]string) map[string]string

Export ...

func (*Properties) Get added in v0.0.5

func (inst *Properties) Get(name string) string

Get ...

func (*Properties) Import added in v0.0.5

func (inst *Properties) Import(src map[string]string)

Import ...

func (*Properties) Set added in v0.0.5

func (inst *Properties) Set(name, value string)

Set ...

func (*Properties) Trim added in v0.0.5

func (inst *Properties) Trim()

Trim ...

type Ref added in v0.0.5

type Ref struct {
	ID   ObjectID      // the Primary-Key
	Name ReferenceName // 不常用
}

Ref 是表示一个 .git/refs/[type]/[name] 的实体

type ReferenceName added in v0.0.5

type ReferenceName string

ReferenceName is the name for .git/refs/*

func (ReferenceName) Normalize added in v0.0.5

func (v ReferenceName) Normalize() ReferenceName

Normalize ...

func (ReferenceName) NormalizeWithType added in v0.0.5

func (v ReferenceName) NormalizeWithType(aType string) ReferenceName

NormalizeWithType ...

func (ReferenceName) String added in v0.0.5

func (v ReferenceName) String() string

type Tag added in v0.0.5

type Tag struct {
	HyperMessage

	Target    ObjectID
	Author    *Operator
	Committor *Operator
}

Tag ...

type Tree added in v0.0.5

type Tree struct {
	ID    ObjectID // 此 tree 对象的 ID
	Items []*TreeItem
}

Tree ...

type TreeItem added in v0.0.5

type TreeItem struct {
	Name string
	ID   ObjectID // 该条目的 ID
	Mode string
}

TreeItem ...

Directories

Path Synopsis
data
network

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL