RepoFreshness class

Brings a repository to the state of the remote branch it tracks.

A workspace resolves dependencies out of the manifests its repositories carry, so a checkout that lags behind its remote makes gg reason about a package that has since been renamed, split or removed. Updating first turns every complaint that follows into a real one.

Nothing is ever updated over local work: a repository that is on a feature branch, dirty, stashed or ahead of its remote is reported as blocked and left exactly as it is.

Inheritance
  • Object
  • Command
  • RepoFreshness
Implementers

Constructors

RepoFreshness({required GgLog ggLog, GgProcessWrapper? processWrapper, Fetch? fetch, IsCommitted? isCommitted, IsFeatureBranch? isFeatureBranch, GitRetry gitRetry = const GitRetry()})
Constructor.

Properties

aliases → List<String>
Alternate names for this command.
no setterinherited
argParser → ArgParser
The argument parser for this command.
no setterinherited
argResults → ArgResults?
The parsed argument results for this command.
no setterinherited
category → String
The command's category.
no setterinherited
description → String
finalinherited
dirFromArgs → Directory
Returns the directory from the command line arguments
no setterinherited
ggLog → GgLog
The log function
finalinherited
globalResults → ArgResults?
The parsed global argument results.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
hidden → bool
Whether or not this command should be hidden from help listings.
no setterinherited
invocation → String
A single-line template for how to invoke this command (e.g. "pub get package").
no setterinherited
isLocked → IsLocked
Reports if the repository is locked by another git process.
latefinalinherited
name → String
The name of the command
finalinherited
parent → Command?
The command's parent command, if this is a subcommand.
no setterinherited
processWrapper → GgProcessWrapper
Use this wrapper to run processes
finalinherited
runner → CommandRunner?
The command runner for this command.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
subcommands → Map<String, Command>
An unmodifiable view of all sublevel commands of this command.
no setterinherited
suggestionAliases → List<String>
Alternate non-functional names for this command.
no setterinherited
summary → String
A short description of this command, included in parent's CommandRunner.usage.
no setterinherited
takesArguments → bool
Whether or not this command takes positional arguments in addition to options.
no setterinherited
usage → String
Generates a string displaying usage information for this command.
no setterinherited
usageFooter → String?
An optional footer for usage.
no setterinherited

Methods

absolute(Directory dir) → Directory
the input directory as absolute path
inherited
addSubcommand(Command command) → void
Adds Command as a subcommand of this.
inherited
check({required Directory directory}) → Future<void>
Returns true if everything in the directory is committed.
inherited
dirName(Directory dir) → String
The name of the directory to be checked
inherited
exec({required Directory directory, required GgLog ggLog, Map<String, dynamic> options = const {}}) → Future<RepoBlocker?>
Must be implemented in subclasses See DirCommandExample how to override this method
get({required GgLog ggLog, required Directory directory, bool dryRun = false}) → Future<RepoBlocker?>
Fast-forwards directory to the branch it tracks.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
printUsage() → void
Prints the usage information for this command.
inherited
run() → Future<RepoBlocker?>
Runs this command.
inherited
toString() → String
A string representation of this object.
inherited
updateAll({required GgLog ggLog, required Iterable<Directory> directories, String? workspacePath, int maxParallel = 4, bool dryRun = false}) → Future<void>
Fast-forwards every repository in directories, at most maxParallel at a time, and throws a RepoFreshnessException naming each one that holds local work. A folder with nothing to update from is skipped silently.
usageException(String message) → Never
Throws a UsageException with message.
inherited
waitUntilUnlocked({required Directory directory, GgLog? ggLog}) → Future<void>
Waits until no other git process writes the git index anymore.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited