pkg gerrit, const PresubmitTestTypeAll PresubmitTestType
pkg gerrit, const PresubmitTestTypeNone PresubmitTestType
pkg gerrit, func GenCL(int, int, string) Change
pkg gerrit, func GenCLWithMoreData(int, int, string, PresubmitTestType, string) Change
pkg gerrit, func GenMultiPartCL(int, int, string, string, int, int) Change
pkg gerrit, func GenMultiPartCLWithMoreData(int, int, string, string, int, int, string) Change
pkg gerrit, func New(runutil.Sequence, *url.URL) *Gerrit
pkg gerrit, func NewChangeError(Change, error) *ChangeError
pkg gerrit, func NewMultiPartCLSet() *MultiPartCLSet
pkg gerrit, func NewOpenCLs(CLRefMap, CLList) ([]CLList, []error)
pkg gerrit, func ParseRefString(string) (int, int, error)
pkg gerrit, func PresubmitTestTypes() []string
pkg gerrit, func Push(runutil.Sequence, CLOpts) error
pkg gerrit, func ReadLog(string) (CLRefMap, error)
pkg gerrit, func Reference(CLOpts) string
pkg gerrit, func WriteLog(string, CLList) error
pkg gerrit, method (*ChangeError) Error() string
pkg gerrit, method (*Gerrit) GetChange(int) (*Change, error)
pkg gerrit, method (*Gerrit) PostReview(string, string, map[string]string) error
pkg gerrit, method (*Gerrit) Query(string) (CLList, error)
pkg gerrit, method (*Gerrit) SetTopic(string, CLOpts) error
pkg gerrit, method (*Gerrit) Submit(string) error
pkg gerrit, method (*MultiPartCLSet) AddCL(Change) error
pkg gerrit, method (*MultiPartCLSet) CLs() CLList
pkg gerrit, method (*MultiPartCLSet) Complete() bool
pkg gerrit, method (Change) OwnerEmail() string
pkg gerrit, method (Change) Reference() string
pkg gerrit, type CLList []Change
pkg gerrit, type CLOpts struct
pkg gerrit, type CLOpts struct, Autosubmit bool
pkg gerrit, type CLOpts struct, Branch string
pkg gerrit, type CLOpts struct, Ccs []string
pkg gerrit, type CLOpts struct, Draft bool
pkg gerrit, type CLOpts struct, Edit bool
pkg gerrit, type CLOpts struct, Host *url.URL
pkg gerrit, type CLOpts struct, Presubmit PresubmitTestType
pkg gerrit, type CLOpts struct, Remote string
pkg gerrit, type CLOpts struct, RemoteBranch string
pkg gerrit, type CLOpts struct, Reviewers []string
pkg gerrit, type CLOpts struct, Topic string
pkg gerrit, type CLOpts struct, Verify bool
pkg gerrit, type CLRefMap map[string]Change
pkg gerrit, type Change struct
pkg gerrit, type Change struct, AutoSubmit bool
pkg gerrit, type Change struct, Change_id string
pkg gerrit, type Change struct, Current_revision string
pkg gerrit, type Change struct, Labels map[string]map[string]interface{}
pkg gerrit, type Change struct, MultiPart *MultiPartCLInfo
pkg gerrit, type Change struct, Owner Owner
pkg gerrit, type Change struct, PresubmitTest PresubmitTestType
pkg gerrit, type Change struct, Project string
pkg gerrit, type Change struct, Revisions Revisions
pkg gerrit, type Change struct, Topic string
pkg gerrit, type ChangeError struct
pkg gerrit, type ChangeError struct, CL Change
pkg gerrit, type ChangeError struct, Err error
pkg gerrit, type Comment struct
pkg gerrit, type Comment struct, Line int
pkg gerrit, type Comment struct, Message string
pkg gerrit, type Commit struct
pkg gerrit, type Commit struct, Message string
pkg gerrit, type Fetch struct
pkg gerrit, type Fetch struct, embedded Http
pkg gerrit, type Files map[string]struct{}
pkg gerrit, type Gerrit struct
pkg gerrit, type Http struct
pkg gerrit, type Http struct, Ref string
pkg gerrit, type MultiPartCLInfo struct
pkg gerrit, type MultiPartCLInfo struct, Index int
pkg gerrit, type MultiPartCLInfo struct, Topic string
pkg gerrit, type MultiPartCLInfo struct, Total int
pkg gerrit, type MultiPartCLSet struct
pkg gerrit, type Owner struct
pkg gerrit, type Owner struct, Email string
pkg gerrit, type PresubmitTestType string
pkg gerrit, type Review struct
pkg gerrit, type Review struct, Comments map[string][]Comment
pkg gerrit, type Review struct, Labels map[string]string
pkg gerrit, type Review struct, Message string
pkg gerrit, type Revision struct
pkg gerrit, type Revision struct, embedded Commit
pkg gerrit, type Revision struct, embedded Fetch
pkg gerrit, type Revision struct, embedded Files
pkg gerrit, type Revisions map[string]Revision
pkg gerrit, type Topic struct
pkg gerrit, type Topic struct, Topic string
