pkg project, const FastScan ScanMode
pkg project, const FullScan ScanMode
pkg project, func ApplyToLocalMaster(*jiri.X, Projects, func() error) error
pkg project, func BuildTools(*jiri.X, Projects, Tools, string) error
pkg project, func CheckoutSnapshot(*jiri.X, string, bool) error
pkg project, func CleanupProjects(*jiri.X, Projects, bool) error
pkg project, func CreateSnapshot(*jiri.X, string, string) error
pkg project, func CurrentProjectKey(*jiri.X) (ProjectKey, error)
pkg project, func GetProjectState(*jiri.X, ProjectKey, bool) (*ProjectState, error)
pkg project, func GetProjectStates(*jiri.X, bool) (map[ProjectKey]*ProjectState, error)
pkg project, func InstallTools(*jiri.X, string) error
pkg project, func LoadManifest(*jiri.X) (Projects, Tools, error)
pkg project, func LoadSnapshotFile(*jiri.X, string) (Projects, Tools, error)
pkg project, func LocalProjects(*jiri.X, ScanMode) (Projects, error)
pkg project, func MakeProjectKey(string, string) ProjectKey
pkg project, func ManifestFromBytes([]byte) (*Manifest, error)
pkg project, func ManifestFromFile(*jiri.X, string) (*Manifest, error)
pkg project, func ParseNames(*jiri.X, []string, map[string]struct{}) (Projects, error)
pkg project, func PollProjects(*jiri.X, map[string]struct{}) (Update, error)
pkg project, func ProjectAtPath(*jiri.X, string) (Project, error)
pkg project, func ProjectFromFile(*jiri.X, string) (*Project, error)
pkg project, func TransitionBinDir(*jiri.X) error
pkg project, func UpdateUniverse(*jiri.X, bool) error
pkg project, func WriteUpdateHistorySnapshot(*jiri.X, string) error
pkg project, method (*Import) ProjectKey() ProjectKey
pkg project, method (*Manifest) ToBytes() ([]byte, error)
pkg project, method (*Manifest) ToFile(*jiri.X, string) error
pkg project, method (Project) Key() ProjectKey
pkg project, method (Project) ToFile(*jiri.X, string) error
pkg project, method (ProjectKeys) Len() int
pkg project, method (ProjectKeys) Less(int, int) bool
pkg project, method (ProjectKeys) Swap(int, int)
pkg project, method (Projects) Find(string) Projects
pkg project, method (Projects) FindUnique(string) (Project, error)
pkg project, method (UnsupportedProtocolErr) Error() string
pkg project, type BranchState struct
pkg project, type BranchState struct, HasGerritMessage bool
pkg project, type BranchState struct, Name string
pkg project, type CL struct
pkg project, type CL struct, Author string
pkg project, type CL struct, Description string
pkg project, type CL struct, Email string
pkg project, type Import struct
pkg project, type Import struct, Manifest string
pkg project, type Import struct, Name string
pkg project, type Import struct, Protocol string
pkg project, type Import struct, Remote string
pkg project, type Import struct, RemoteBranch string
pkg project, type Import struct, Root string
pkg project, type Import struct, XMLName struct{}
pkg project, type LocalImport struct
pkg project, type LocalImport struct, File string
pkg project, type LocalImport struct, XMLName struct{}
pkg project, type Manifest struct
pkg project, type Manifest struct, Imports []Import
pkg project, type Manifest struct, LocalImports []LocalImport
pkg project, type Manifest struct, Projects []Project
pkg project, type Manifest struct, SnapshotPath string
pkg project, type Manifest struct, Tools []Tool
pkg project, type Manifest struct, XMLName struct{}
pkg project, type Project struct
pkg project, type Project struct, GerritHost string
pkg project, type Project struct, GitHooks string
pkg project, type Project struct, Name string
pkg project, type Project struct, Path string
pkg project, type Project struct, Protocol string
pkg project, type Project struct, Remote string
pkg project, type Project struct, RemoteBranch string
pkg project, type Project struct, Revision string
pkg project, type Project struct, RunHook string
pkg project, type Project struct, XMLName struct{}
pkg project, type ProjectKey string
pkg project, type ProjectKeys []ProjectKey
pkg project, type ProjectState struct
pkg project, type ProjectState struct, Branches []BranchState
pkg project, type ProjectState struct, CurrentBranch string
pkg project, type ProjectState struct, HasUncommitted bool
pkg project, type ProjectState struct, HasUntracked bool
pkg project, type ProjectState struct, Project Project
pkg project, type Projects map[ProjectKey]Project
pkg project, type ScanMode bool
pkg project, type Tool struct
pkg project, type Tool struct, Data string
pkg project, type Tool struct, Name string
pkg project, type Tool struct, Package string
pkg project, type Tool struct, Project string
pkg project, type Tool struct, XMLName struct{}
pkg project, type Tools map[string]Tool
pkg project, type UnsupportedProtocolErr string
pkg project, type Update map[string][]CL
pkg project, var JiriName string
pkg project, var JiriPackage string
pkg project, var JiriProject string
