Documentation ¶
Index ¶
- func AllReferencesFilter(_ Reference) bool
- type BatchObjectIter
- type Commit
- type OID
- type ObjectHeaderIter
- type ObjectIter
- type ObjectType
- type Reference
- type ReferenceFilter
- type ReferenceIter
- type Repository
- func (repo *Repository) Close() error
- func (repo *Repository) CreateObject(t ObjectType, writer func(io.Writer) error) (OID, error)
- func (repo *Repository) NewBatchObjectIter() (*BatchObjectIter, io.WriteCloser, error)
- func (repo *Repository) NewObjectIter(args ...string) (*ObjectIter, io.WriteCloser, error)
- func (repo *Repository) NewReferenceIter() (*ReferenceIter, error)
- func (repo *Repository) Path() string
- func (repo *Repository) UpdateRef(refname string, oid OID) error
- type Tag
- type Tree
- type TreeEntry
- type TreeIter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AllReferencesFilter ¶
Types ¶
type BatchObjectIter ¶
type BatchObjectIter struct {
// contains filtered or unexported fields
}
func (*BatchObjectIter) Close ¶
func (l *BatchObjectIter) Close() error
func (*BatchObjectIter) Next ¶
func (iter *BatchObjectIter) Next() (OID, ObjectType, counts.Count32, []byte, error)
type OID ¶
type OID struct {
// contains filtered or unexported fields
}
var NullOID OID
func OIDFromBytes ¶
func (OID) MarshalJSON ¶
type ObjectHeaderIter ¶
type ObjectHeaderIter struct {
// contains filtered or unexported fields
}
func NewObjectHeaderIter ¶
func NewObjectHeaderIter(name string, data []byte) (ObjectHeaderIter, error)
Iterate over a commit or tag object header. `data` should be the object's contents, which is usually terminated by a blank line that separates the header from the comment. However, annotated tags don't always include comments, and Git even tolerates commits without comments, so don't insist on a blank line. `name` is used in error messages.
func (*ObjectHeaderIter) HasNext ¶
func (iter *ObjectHeaderIter) HasNext() bool
type ObjectIter ¶
type ObjectIter struct {
// contains filtered or unexported fields
}
func (*ObjectIter) Close ¶
func (l *ObjectIter) Close() error
func (*ObjectIter) Next ¶
func (l *ObjectIter) Next() (OID, ObjectType, counts.Count32, error)
Next returns the next object, or EOF when done.
type ObjectType ¶
type ObjectType string
The type of an object ("blob", "tree", "commit", "tag", "missing").
type Reference ¶
type Reference struct { Refname string ObjectType ObjectType ObjectSize counts.Count32 OID OID }
type ReferenceFilter ¶
var ( BranchesFilter ReferenceFilter = PrefixFilter("refs/heads/") TagsFilter ReferenceFilter = PrefixFilter("refs/tags/") RemotesFilter ReferenceFilter = PrefixFilter("refs/remotes/") )
func AndFilter ¶
func AndFilter(filters ...ReferenceFilter) ReferenceFilter
func NotFilter ¶
func NotFilter(filter ReferenceFilter) ReferenceFilter
func OrFilter ¶
func OrFilter(filters ...ReferenceFilter) ReferenceFilter
func PrefixFilter ¶
func PrefixFilter(prefix string) ReferenceFilter
type ReferenceIter ¶
type ReferenceIter struct {
// contains filtered or unexported fields
}
func (*ReferenceIter) Close ¶
func (l *ReferenceIter) Close() error
type Repository ¶
type Repository struct {
// contains filtered or unexported fields
}
func NewRepository ¶
func NewRepository(path string) (*Repository, error)
func (*Repository) Close ¶
func (repo *Repository) Close() error
func (*Repository) CreateObject ¶
func (repo *Repository) CreateObject(t ObjectType, writer func(io.Writer) error) (OID, error)
CreateObject creates a new Git object, of the specified type, in `Repository`. `writer` is a function that writes the object in `git hash-object` input format. This is used for testing only.
func (*Repository) NewBatchObjectIter ¶
func (repo *Repository) NewBatchObjectIter() (*BatchObjectIter, io.WriteCloser, error)
NewBatchObjectIter returns iterates over objects whose names are fed into its stdin. The output is buffered, so it has to be closed before you can be sure to read all of the objects.
func (*Repository) NewObjectIter ¶
func (repo *Repository) NewObjectIter(args ...string) ( *ObjectIter, io.WriteCloser, error, )
NewObjectIter returns an iterator that iterates over objects in `repo`. The second return value is the stdin of the `rev-list` command. The caller can feed values into it but must close it in any case.
func (*Repository) NewReferenceIter ¶
func (repo *Repository) NewReferenceIter() (*ReferenceIter, error)
NewReferenceIter returns an iterator that iterates over all of the references in `repo`.
func (*Repository) Path ¶
func (repo *Repository) Path() string