Documentation ¶
Overview ¶
package plumbing implement the core interfaces and structs used by go-git
Index ¶
- Variables
- type Hash
- type Hasher
- type MemoryObject
- func (o *MemoryObject) Close() error
- func (o *MemoryObject) Hash() Hash
- func (o *MemoryObject) Reader() (io.ReadCloser, error)
- func (o *MemoryObject) SetSize(s int64)
- func (o *MemoryObject) SetType(t ObjectType)
- func (o *MemoryObject) Size() int64
- func (o *MemoryObject) Type() ObjectType
- func (o *MemoryObject) Write(p []byte) (n int, err error)
- func (o *MemoryObject) Writer() (io.WriteCloser, error)
- type Object
- type ObjectType
- type PermanentError
- type Reference
- func (r *Reference) Hash() Hash
- func (r *Reference) IsBranch() bool
- func (r *Reference) IsNote() bool
- func (r *Reference) IsRemote() bool
- func (r *Reference) IsTag() bool
- func (r *Reference) Name() ReferenceName
- func (r *Reference) String() string
- func (r *Reference) Strings() [2]string
- func (r *Reference) Target() ReferenceName
- func (r *Reference) Type() ReferenceType
- type ReferenceName
- type ReferenceType
- type UnexpectedError
Constants ¶
This section is empty.
Variables ¶
var ( ErrObjectNotFound = errors.New("object not found") // ErrInvalidType is returned when an invalid object type is provided. ErrInvalidType = errors.New("invalid object type") )
var (
ErrReferenceNotFound = errors.New("reference not found")
)
Functions ¶
This section is empty.
Types ¶
type Hash ¶
type Hash [20]byte
Hash SHA1 hased content
var ZeroHash Hash
ZeroHash is Hash with value zero
func ComputeHash ¶
func ComputeHash(t ObjectType, content []byte) Hash
ComputeHash compute the hash for a given ObjectType and content
type MemoryObject ¶
type MemoryObject struct {
// contains filtered or unexported fields
}
MemoryObject on memory Object implementation
func (*MemoryObject) Close ¶
func (o *MemoryObject) Close() error
Close releases any resources consumed by the object when it is acting as a ObjectWriter.
func (*MemoryObject) Hash ¶
func (o *MemoryObject) Hash() Hash
Hash return the object Hash, the hash is calculated on-the-fly the first time is called, the subsequent calls the same Hash is returned even if the type or the content has changed. The Hash is only generated if the size of the content is exactly the Object.Size
func (*MemoryObject) Reader ¶
func (o *MemoryObject) Reader() (io.ReadCloser, error)
Reader returns a ObjectReader used to read the object's content.
func (*MemoryObject) SetSize ¶
func (o *MemoryObject) SetSize(s int64)
SetSize set the object size, a content of the given size should be written afterwards
func (*MemoryObject) SetType ¶
func (o *MemoryObject) SetType(t ObjectType)
SetType sets the ObjectType
func (*MemoryObject) Writer ¶
func (o *MemoryObject) Writer() (io.WriteCloser, error)
Writer returns a ObjectWriter used to write the object's content.
type Object ¶
type Object interface { Hash() Hash Type() ObjectType SetType(ObjectType) Size() int64 SetSize(int64) Reader() (io.ReadCloser, error) Writer() (io.WriteCloser, error) }
Object is a generic representation of any git object
type ObjectType ¶
type ObjectType int8
ObjectType internal object type Integer values from 0 to 7 map to those exposed by git. AnyObject is used to represent any from 0 to 7.
const ( InvalidObject ObjectType = 0 CommitObject ObjectType = 1 TreeObject ObjectType = 2 BlobObject ObjectType = 3 TagObject ObjectType = 4 // 5 reserved for future expansion OFSDeltaObject ObjectType = 6 REFDeltaObject ObjectType = 7 AnyObject ObjectType = -127 )
func ParseObjectType ¶
func ParseObjectType(value string) (typ ObjectType, err error)
ParseObjectType parses a string representation of ObjectType. It returns an error on parse failure.
func (ObjectType) Bytes ¶
func (t ObjectType) Bytes() []byte
func (ObjectType) String ¶
func (t ObjectType) String() string
func (ObjectType) Valid ¶
func (t ObjectType) Valid() bool
Valid returns true if t is a valid ObjectType.
type PermanentError ¶
type PermanentError struct {
Err error
}
func NewPermanentError ¶
func NewPermanentError(err error) *PermanentError
func (*PermanentError) Error ¶
func (e *PermanentError) Error() string
type Reference ¶
type Reference struct {
// contains filtered or unexported fields
}
Reference is a representation of git reference
func NewHashReference ¶
func NewHashReference(n ReferenceName, h Hash) *Reference
NewHashReference creates a new HashReference reference
func NewReferenceFromStrings ¶
NewReferenceFromStrings creates a reference from name and target as string, the resulting reference can be a SymbolicReference or a HashReference base on the target provided
func NewSymbolicReference ¶
func NewSymbolicReference(n, target ReferenceName) *Reference
NewSymbolicReference creates a new SymbolicReference reference
func (*Reference) Name ¶
func (r *Reference) Name() ReferenceName
Name return the name of a reference
func (*Reference) Target ¶
func (r *Reference) Target() ReferenceName
Target return the target of a symbolic reference
func (*Reference) Type ¶
func (r *Reference) Type() ReferenceType
Type return the type of a reference
type ReferenceName ¶
type ReferenceName string
ReferenceName reference name's
const (
HEAD ReferenceName = "HEAD"
)
func (ReferenceName) Short ¶
func (r ReferenceName) Short() string
Short returns the short name of a ReferenceName
func (ReferenceName) String ¶
func (r ReferenceName) String() string
type ReferenceType ¶
type ReferenceType int8
ReferenceType reference type's
const ( InvalidReference ReferenceType = 0 HashReference ReferenceType = 1 SymbolicReference ReferenceType = 2 )
type UnexpectedError ¶
type UnexpectedError struct {
Err error
}
func NewUnexpectedError ¶
func NewUnexpectedError(err error) *UnexpectedError
func (*UnexpectedError) Error ¶
func (e *UnexpectedError) Error() string
Directories ¶
Path | Synopsis |
---|---|
Package clients includes the implementation for diferent transport protocols go-git needs the packfile and the refs of the repo.
|
Package clients includes the implementation for diferent transport protocols go-git needs the packfile and the refs of the repo. |
common
Package common contains interfaces and non-specific protocol entities
|
Package common contains interfaces and non-specific protocol entities |
http
Package http implements a HTTP client for go-git.
|
Package http implements a HTTP client for go-git. |
ssh
Package ssh implements a ssh client for go-git.
|
Package ssh implements a ssh client for go-git. |
format
|
|
config
Package config implements decoding/encoding of git config files.
|
Package config implements decoding/encoding of git config files. |
idxfile
Package idxfile implements a encoder/decoder of idx files
|
Package idxfile implements a encoder/decoder of idx files |
index
Package index implements a encoder/decoder of index format files
|
Package index implements a encoder/decoder of index format files |
packfile
Package packfile implements a encoder/decoder of packfile format
|
Package packfile implements a encoder/decoder of packfile format |
packp/advrefs
Package advrefs implements encoding and decoding advertised-refs messages from a git-upload-pack command.
|
Package advrefs implements encoding and decoding advertised-refs messages from a git-upload-pack command. |
packp/pktline
Package pktline implements reading payloads form pkt-lines and encoding pkt-lines from payloads.
|
Package pktline implements reading payloads form pkt-lines and encoding pkt-lines from payloads. |
packp/ulreq
Package ulreq implements encoding and decoding upload-request messages from a git-upload-pack command.
|
Package ulreq implements encoding and decoding upload-request messages from a git-upload-pack command. |