On one pull request
When someone replies to a CodeWarden comment with@codewardenapp, gives a reason the finding is wrong, and CodeWarden concedes, it says so in the thread and remembers the decision for that pull request only. Later pushes to the same pull request do not raise the same finding on the same code.
This works the same for everyone who may talk to CodeWarden, including the author of a pull request from a fork.
On the whole repository
When the person whose reason CodeWarden accepted has write access to the repository, its reply also carries a folded section, Make this apply to the whole repository, with the exact lines to add to.codewarden.yml:
The fields
An entry without
path or code, or with code over 2,000 characters, is dropped and the rest of the file still applies.
What counts as the same finding
A finding is held back when all three hold:- it is on the same
path; - it has the same
category, if the decision names one; - the decision’s
codestill appears in the file being reviewed, and the finding points at that code (or within three lines of it). Whitespace at the start and end of each line is ignored, so re-indenting the code does not undo the decision.
- It follows the code, not a line number. The same code moved to another line is still covered.
- It ends when the code changes. When the quoted text is no longer in the file, the decision stops applying and the finding can come back.
- It is limited to that code. A finding on other code in the same file is reported, even of the same category. So is a finding in another file, and a finding of another category when the decision names one.
- Quote the code the decision is about. The smallest piece that identifies it is best; if the same text appears twice in the file, the decision covers both places.
accepted: cannot switch a review off. To leave a whole file alone, use ignore.
Seeing what was held back
Every finding a decision held back is recorded on the review, with the decision that held it back, so a silenced review can be told apart from one that found nothing. (The review’s page in the console does not list them yet.) The Decided page of each repository (/orgs/<login>/repos/<repo>/decided in the console) shows three lists:
- On one pull request: decisions made in conversations, with the quoted code, the reason, who made it and when. Owners can Revoke one; the next review of that pull request can raise the finding again. Members can see them but not revoke.
- On the whole repository: the
accepted:entries as they were on the last review, with a link to.codewarden.ymlon GitHub. - Offered and not committed: proposals nobody has merged yet. Until someone does, each applies only to its own pull request.