From d409aed46ca328f0814dab84426f32a17b210774 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oto=20=C5=A0=C5=A5=C3=A1va?= Date: Tue, 22 Apr 2025 17:15:58 +0200 Subject: [PATCH] user/pull-requests-and-git-flow: Reviews and code owners --- .../pull-request/pull-request-reviewers.png | Bin 0 -> 15953 bytes docs/user/pull-requests-and-git-flow.md | 30 ++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 docs/_images/user/pull-request/pull-request-reviewers.png diff --git a/docs/_images/user/pull-request/pull-request-reviewers.png b/docs/_images/user/pull-request/pull-request-reviewers.png new file mode 100644 index 0000000000000000000000000000000000000000..a69369df715aa53dbb6c505199add7b58ca582f0 GIT binary patch literal 15953 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 D#rs5t literal 0 HcmV?d00001 diff --git a/docs/user/pull-requests-and-git-flow.md b/docs/user/pull-requests-and-git-flow.md index 6ec3c868..ad5a6683 100644 --- a/docs/user/pull-requests-and-git-flow.md +++ b/docs/user/pull-requests-and-git-flow.md @@ -69,6 +69,36 @@ When a pull request contains multiple commits, the button to the left of the `Re ![Review a single commit](../_images/user/pull-request/pull-request-review-commit.png) +## Review requests and code owners + +On the right-hand sidebar of the pull request page there is a `Reviewers` section. Clicking its title will open a dropdown menu using which you may request a review from one or more repository collaborators. + +![Reviewers panel](../_images/user/pull-request/pull-request-reviewers.png) + +Review requests may additionally be automated by adding a `CODEOWNERS` file either to the root of the repository, or the `docs` or `.forgejo` directories. + +Lines in this file represent rules. Each rule consists of a [Go-formatted regular expression](https://pkg.go.dev/regexp/syntax) matching paths to changed files, followed by the names of one or more users and/or organization teams, all separated by whitespaces. The regular expression may also be prepended with an exclamation mark (`!`) to create a negative rule. + +Users are referenced by their usernames. Teams are referenced by the name of the organization, followed by a slash (`/`) and the name of the team. Both may optionally be prepended with an `@` sign. + +When a pull request is submitted, the changes are checked against the rules in the `CODEOWNERS` file. When the path to any of the changed files matches the regular expression of a non-negative rule, a review of the pull request is automatically requested from all users and/or teams referenced by the rule. Negative rules do the opposite – reviews are requested when any of the changed files _do not match_ the regular expression. + +A `CODEOWNERS` file may contain empty lines and comments, which begin with a hash (`#`) character. + +An example `CODEOWNERS` file may look like this: + +``` +# Request review from User001 whenever anything in `src` changes +src/.* @User001 + +# Request review from the editors team in MyOrg whenever anything +# in `docs` changes +docs/.* @MyOrg/editors + +# Request review from User002 whenever anything but `README.md` changes +!README\.md User002 +``` + ## Keep it up-to-date: rebase pull requests to upstream Sometimes the upstream project repository is evolving while we are working on a feature branch, and we need to rebase and resolve merge conflicts for upstream changes into our feature branch. This is not hard: