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) error
pkg project, func CurrentManifest(*jiri.X) (*Manifest, error)
pkg project, func CurrentProjectKey(*jiri.X) (ProjectKey, error)
pkg project, func DataDirPath(*jiri.X, string) (string, 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 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) 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
