Documentation
¶
Overview ¶
TODO: Should submodules be supported? (submodule trees have 'commit' entries)
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Crawler ¶
type Crawler struct {
RepoPath string
ParentRev entities.Hash
ExcludedObjects []entities.Hash
Runner
}
Crawler will crawl a commit-ish revision tree and stream out objects in an order such that dependee blobs and trees appear before dependent commits. It makes the following assumptions:
- Storage consumers are free of dangling commits. This affords us the ability to prune commits from the rev-list search without missing uncached objects.
func NewCrawler ¶
type Pusher ¶
type Pusher struct {
// contains filtered or unexported fields
}
Pusher writes an object to storage.
type Runner ¶
type Runner interface {
// ObjCount returns the number of objects reachable from rev but unreachable
// from the exclude set.
ObjCount(dir, rev string, excludes []entities.Hash) (int64, error)
// RevListObjectsTopoOrder outputs objects reachable from rev but unreachable
// from the exclude set. Commits are in topological order.
RevListObjectsTopoOrder(dir, rev string, excludes []entities.Hash) (<-chan shellgit.ObjectTypeNameStreamItem, error)
}
Click to show internal directories.
Click to hide internal directories.