Documentation ¶
Overview ¶
https://github.com/git/git/blob/master/Documentation/gitrepository-layout.txt
Index ¶
- Variables
- type DotGit
- func (d *DotGit) Config() (billy.File, error)
- func (d *DotGit) ConfigWriter() (billy.File, error)
- func (d *DotGit) Index() (billy.File, error)
- func (d *DotGit) IndexWriter() (billy.File, error)
- func (d *DotGit) Initialize() error
- func (d *DotGit) Module(name string) billy.Filesystem
- func (d *DotGit) NewObject() (*ObjectWriter, error)
- func (d *DotGit) NewObjectPack() (*PackWriter, error)
- func (d *DotGit) Object(h plumbing.Hash) (billy.File, error)
- func (d *DotGit) ObjectPack(hash plumbing.Hash) (billy.File, error)
- func (d *DotGit) ObjectPackIdx(hash plumbing.Hash) (billy.File, error)
- func (d *DotGit) ObjectPacks() ([]plumbing.Hash, error)
- func (d *DotGit) Objects() ([]plumbing.Hash, error)
- func (d *DotGit) Ref(name plumbing.ReferenceName) (*plumbing.Reference, error)
- func (d *DotGit) Refs() ([]*plumbing.Reference, error)
- func (d *DotGit) RemoveRef(name plumbing.ReferenceName) error
- func (d *DotGit) SetRef(r *plumbing.Reference) error
- func (d *DotGit) Shallow() (billy.File, error)
- func (d *DotGit) ShallowWriter() (billy.File, error)
- type ObjectWriter
- type PackWriter
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNotFound is returned by New when the path is not found. ErrNotFound = errors.New("path not found") // ErrIdxNotFound is returned by Idxfile when the idx file is not found ErrIdxNotFound = errors.New("idx file not found") // ErrPackfileNotFound is returned by Packfile when the packfile is not found ErrPackfileNotFound = errors.New("packfile not found") // ErrConfigNotFound is returned by Config when the config is not found ErrConfigNotFound = errors.New("config file not found") // ErrPackedRefsDuplicatedRef is returned when a duplicated reference is // found in the packed-ref file. This is usually the case for corrupted git // repositories. ErrPackedRefsDuplicatedRef = errors.New("duplicated ref found in packed-ref file") // ErrPackedRefsBadFormat is returned when the packed-ref file corrupt. ErrPackedRefsBadFormat = errors.New("malformed packed-ref") // ErrSymRefTargetNotFound is returned when a symbolic reference is // targeting a non-existing object. This usually means the repository // is corrupt. ErrSymRefTargetNotFound = errors.New("symbolic reference target not found") )
Functions ¶
This section is empty.
Types ¶
type DotGit ¶
type DotGit struct {
// contains filtered or unexported fields
}
The DotGit type represents a local git repository on disk. This type is not zero-value-safe, use the New function to initialize it.
func New ¶
func New(fs billy.Filesystem) *DotGit
New returns a DotGit value ready to be used. The path argument must be the absolute path of a git repository directory (e.g. "/foo/bar/.git").
func (*DotGit) ConfigWriter ¶
ConfigWriter returns a file pointer for write to the config file
func (*DotGit) IndexWriter ¶
IndexWriter returns a file pointer for write to the index file
func (*DotGit) Initialize ¶
Initialize creates all the folder scaffolding.
func (*DotGit) NewObject ¶
func (d *DotGit) NewObject() (*ObjectWriter, error)
NewObject return a writer for a new object file.
func (*DotGit) NewObjectPack ¶
func (d *DotGit) NewObjectPack() (*PackWriter, error)
NewObjectPack return a writer for a new packfile, it saves the packfile to disk and also generates and save the index for the given packfile.
func (*DotGit) ObjectPack ¶
ObjectPack returns a fs.File of the given packfile
func (*DotGit) ObjectPackIdx ¶
ObjectPackIdx returns a fs.File of the index file for a given packfile
func (*DotGit) ObjectPacks ¶
ObjectPacks returns the list of availables packfiles
func (*DotGit) Objects ¶
Objects returns a slice with the hashes of objects found under the .git/objects/ directory.
func (*DotGit) Refs ¶
Refs scans the git directory collecting references, which it returns. Symbolic references are resolved and included in the output.
func (*DotGit) RemoveRef ¶
func (d *DotGit) RemoveRef(name plumbing.ReferenceName) error
RemoveRef removes a reference by name.
func (*DotGit) ShallowWriter ¶
ShallowWriter returns a file pointer for write to the shallow file
type ObjectWriter ¶
func (*ObjectWriter) Close ¶
func (w *ObjectWriter) Close() error
type PackWriter ¶
type PackWriter struct { Notify func(h plumbing.Hash, i idxfile.Idxfile) // contains filtered or unexported fields }
PackWriter is a io.Writer that generates the packfile index simultaneously, a packfile.Decoder is used with a file reader to read the file being written this operation is synchronized with the write operations. The packfile is written in a temp file, when Close is called this file is renamed/moved (depends on the Filesystem implementation) to the final location, if the PackWriter is not used, nothing is written
func (*PackWriter) Close ¶
func (w *PackWriter) Close() error
Close closes all the file descriptors and save the final packfile, if nothing was written, the tempfiles are deleted without writing a packfile.