class

Fluxion::Registry::Git

Inherits Reference < Object

Git operations against a registry mirror.

Goes through ShellRunner rather than shelling out directly, so the commands are observable in specs and get the same redaction and timeout handling as every other process Fluxion starts.

Constants

CLONE_TIMEOUT = 5.minutes
QUICK_TIMEOUT = 60.seconds

Constructors

new(runner : Executor::ShellRunner)
Source

Instance methods

available?
Source
current_branch(source : Source) : String | Nil
Source
modified(source : Source) : Array(String)

Paths modified in the mirror. Normally empty — the mirror is not where editing happens — so anything here is worth telling the user about.

Source
publish(source : Source, message : String, &sink : String -> ) : Nil

Commits and pushes whatever is staged in the mirror.

Source
revision(source : Source) : String | Nil

The commit the mirror is currently at.

Source
sync(source : Source, &sink : String -> ) : Nil

Clones a registry, or fast-forwards an existing mirror.

Source