Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Dir ¶
type Dir struct {
// contains filtered or unexported fields
}
Dir is a quarantine directory for Git objects. Instead of writing new commits into the main repository, they're instead written into a temporary quarantine directory. This staging area can either be migrated into the main repository or, alternatively, will automatically be discarded when the context gets cancelled. If the quarantine environment is discarded without being staged, then none of the objects which have been created in the quarantine directory will end up in the main repository.
func New ¶
New creates a new quarantine directory and returns both the directory as well as its cleanup function.
func (*Dir) Migrate ¶
Migrate migrates all objects part of the quarantine directory into the main repository and thus makes them generally available. This implementation follows the git.git's `tmp_objdir_migrate()`.
func (*Dir) QuarantinedRepo ¶
func (d *Dir) QuarantinedRepo() *gitalypb.Repository
QuarantinedRepo returns a Repository protobuf message with adjusted main and alternate object directories. If passed e.g. to the `git.ExecCommandFactory`, then all new objects will end up in the quarantine directory.