Categorygithub.com/src-d/borges
modulepackage
0.19.1-rc.5
Repository: https://github.com/src-d/borges.git
Documentation: pkg.go.dev

# README

borges Build Status codecov.io GitHub version

borges collects and stores Git repositories.

I have always imagined that Paradise will be a kind of library.

Borges is a set of tools for collection and storage of Git repositories at large scale. It is a distributed system, similar to a search engine, that uses a custom repository storage file format and is optimized for saving storage space and keeping repositories up-to-date.

Further reading

From here, you can directly go to getting started.

Also, is recommended to know borges key concepts.

License

GPLv3, see LICENSE

# Packages

No description provided by the author
Package lock provides implementations for cancellable and distributed locks.
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

CopyFile makes a file copy with the specified permission.
No description provided by the author
NewArchiverWorkerPool creates a new WorkerPool that uses an Archiver to process jobs.
NewChanges returns Changes needed to obtain the current state of the repository from a set of old references.
NewConsumer creates a new consumer.
NewExecutor creates a new job executor.
NewGitReferencer takes a *git.Repository and returns a Referencer that retrieves any valid reference from it.
NewLineJobIter returns a JobIter that returns jobs generated from a reader with a list of repository URLs, one per line.
NewMentionJobIter returns a JobIter that returns jobs generated from mentions received from a queue (e.g.
NewModelReferencer takes a *model.Repository and returns a Referencer that accesses its references.
NewProducer creates a new producer.
No description provided by the author
NewWorker creates a new Worker.
NewWorkerPool creates a new empty worker pool.
RecursiveCopy copies a directory to a destination path.
RepositoryID tries to find a repository by the endpoint into the database.
ResolveCommit gets the hash of a commit that is referenced by a tag, per example.
No description provided by the author

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Variables

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ErrObjectTypeNotSupported returned by ResolveCommit when the referenced object isn't a Commit nor a Tag.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
StrRemoveTmpFiles is the string used to log when tmp files could not be deleted.

# Structs

Archiver archives repositories.
Command is the way to represent a change into a reference.
Consumer consumes jobs from a queue and uses multiple workers to process them.
Executor retrieves jobs from an job iterator and passes them to a worker pool to be executed.
Job represents a borges job to fetch and archive a repository.
Producer is a service to generate jobs and put them to the queue.
Worker is a worker that processes jobs from a channel.
A WorkerJob is a job to be passed to the worker.
WorkerPool is a pool of workers that can process jobs.

# Interfaces

JobIter is an iterator of Job.
Referencer can retrieve reference models (*model.Reference).
RepositoryStore is the access layer to the storage of repositories.
No description provided by the author
No description provided by the author

# Type aliases

No description provided by the author
Changes represents several actions to realize to our root repositories.
WorkerFunc is the function the workers will execute.