Documentation ¶
Overview ¶
Package code_review defines some types for getting data into and out of Code Review Systems (e.g. Gerrit, GitHub).
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNotFound = errors.New("not found")
ErrNotFound is an error used to indicate something could not be found. TODO(kjlubick) This model of err checking is potentially brittle, perhaps something like
https://golang.org/pkg/os/#IsExist is better, or using errors.Is https://dave.cheney.net/2016/04/27/dont-just-check-errors-handle-them-gracefully
Functions ¶
This section is empty.
Types ¶
type Changelist ¶
type ChangelistCommenter ¶
type ChangelistCommenter interface { // CommentOnChangelistsWithUntriagedDigests comments (exactly once per patchset) on a Changelist // with unknown CommentOnChangelistsWithUntriagedDigests(ctx context.Context) error }
The ChangelistCommenter interface is an abstraction around the code which comments on CLs in the Code Review System to which they belong.
type ChangelistLandedUpdater ¶
type ChangelistLandedUpdater interface { // UpdateChangelistsAsLanded goes through the given commits and marks any Changelist // objects as Landed. For those that are marked as landed, it should update the master // branch's Expectations as well. UpdateChangelistsAsLanded(ctx context.Context, commits []*vcsinfo.LongCommit) error }
The ChangelistLandedUpdater interface is an abstraction around the code that tracks Changelists which land.
type Client ¶
type Client interface { // GetChangelist returns the Changelist corresponding to the given id. // Returns ErrNotFound if it doesn't exist. GetChangelist(ctx context.Context, id string) (Changelist, error) // GetPatchset returns the Patchset belonging to the changelist and the provided id or order. // One of psID or psOrder should be set - the non-zero version will be used. // Returns ErrNotFound if the Patchset or Changelist doesn't exist. GetPatchset(ctx context.Context, clID, psID string, psOrder int) (Patchset, error) // GetChangelistIDForCommit returns the Changelist id corresponding to the given git commit. // Returns ErrNotFound if one could not be identified. GetChangelistIDForCommit(ctx context.Context, commit *vcsinfo.LongCommit) (string, error) // CommentOn creates a comment on the CRS for the given CL with the given message. CommentOn(ctx context.Context, clID, message string) error }
The Client interface is an abstraction around a Code Review System
type Patchset ¶
type Patchset struct { // SystemID may or may not be unique for all Patchsets for a given system. // Definitely unique for a given Changelist. SystemID string // ChangelistID is the id that the Patchset belongs to. ChangelistID string // It is convenient to think about Patchsets starting at 1 and increasing // monotonically. This gives some measure of time/progress. Order is the // index of this Patchset relative to all other Patchsets on this CL. Order int GitHash string // Created is the timestamp that this Patchset was created. It is used to determine // "most recent" Patchset and is provided by the CodeReviewSystem. Created time.Time // CommentedOnCL are used to keep track of "Do we need to notify // the user about UntriagedDigests for this code?" and "Did we notify them?". CommentedOnCL bool }
Directories ¶
Path | Synopsis |
---|---|
Package commenter contains an implementation of the code_review.ChangelistCommenter interface.
|
Package commenter contains an implementation of the code_review.ChangelistCommenter interface. |
Package gerrit_crs provides a client for Gold's interaction with the Gerrit code review system.
|
Package gerrit_crs provides a client for Gold's interaction with the Gerrit code review system. |
Package github_crs provides a client for Gold's interaction with the GitHub code review system.
|
Package github_crs provides a client for Gold's interaction with the GitHub code review system. |
Click to show internal directories.
Click to hide internal directories.