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 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, 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
