2020-10-15 01:46:57 -07:00
|
|
|
---
|
|
|
|
|
eleventyNavigation:
|
2020-10-16 05:53:27 -07:00
|
|
|
key: RepositoryPermissions
|
2020-10-15 01:46:57 -07:00
|
|
|
title: Repository Permissions
|
|
|
|
|
parent: Collaborating
|
|
|
|
|
order: 50
|
|
|
|
|
---
|
|
|
|
|
|
2025-06-14 02:38:21 -07:00
|
|
|
When you invite collaborators to join your repository (see [Invite Collaborators](/collaborating/invite-collaborators))
|
|
|
|
|
or when you create teams for your organization (see [Create and Manage an Organization](/collaborating/create-organization)),
|
|
|
|
|
you have to decide what each collaborator/team is allowed to do.
|
2020-10-15 01:46:57 -07:00
|
|
|
|
2023-07-20 14:46:54 -07:00
|
|
|
You can assign teams different levels of permission for each unit (e.g. issues, PRs, wiki).
|
2022-03-03 15:04:59 -08:00
|
|
|
|
2023-07-08 09:27:44 -07:00
|
|
|
## Profile and Visibility
|
|
|
|
|
|
2025-06-14 02:38:21 -07:00
|
|
|
The visibility of your repositories will depend on the visibility of your profile, as well as whether you have marked a
|
|
|
|
|
repository as private. Let's break down what this means:
|
2024-06-11 00:51:22 -07:00
|
|
|
|
2026-06-25 00:52:24 -07:00
|
|
|
- If your profile's visibility is set to "**Limited**", _all_ of your non-private repositories will only be visible to logged
|
2025-06-14 02:38:21 -07:00
|
|
|
in users.
|
2026-06-25 00:52:24 -07:00
|
|
|
- If your profile's visibility is set to "**Public**", _all_ of your non-private repositories will be shown to everyone.
|
2025-06-14 02:38:21 -07:00
|
|
|
- If you do not want anyone (apart from [your fellow collaborators](https://docs.codeberg.org/collaborating/invite-collaborators/))
|
2026-06-25 00:52:24 -07:00
|
|
|
to see your repositories, mark your repository as "**Private**".
|
|
|
|
|
However, Codeberg's Moderation Team and infrastructure administrators can access private profiles and repositories as per the
|
|
|
|
|
[Privacy Policy](https://codeberg.org/Codeberg/org/src/branch/main/PrivacyPolicy.md#4-data-handling-by-association-bodies-third-parties).
|
2023-07-08 09:27:44 -07:00
|
|
|
|
2025-06-14 02:38:21 -07:00
|
|
|
The visibility of your profile can be changed in the [Privacy settings](https://codeberg.org/user/settings).
|
|
|
|
|
Be careful when you set your profile's visibility to "Limited"; Even if a repository is public, users that are
|
|
|
|
|
_not logged in_ will get a [404 error](https://en.wikipedia.org/wiki/HTTP_404) if they try to access your repository —
|
|
|
|
|
it will seem as if it does not exist at all!
|
2023-07-08 09:27:44 -07:00
|
|
|
|
2025-06-14 02:38:21 -07:00
|
|
|
<img
|
|
|
|
|
src="/images/collaborating/repo-permissions/user-settings-privacy-limited.jpg"
|
|
|
|
|
alt="Privacy Settings in Codeberg's User Settings"
|
|
|
|
|
width="50%">
|
2023-07-08 09:27:44 -07:00
|
|
|
|
2022-03-03 15:04:59 -08:00
|
|
|
## Collaborators
|
|
|
|
|
|
2026-07-17 10:52:36 -07:00
|
|
|
There are four permission levels: **Read**, **Write**, **Administrator**, and **Owner**.
|
2023-07-20 14:46:54 -07:00
|
|
|
|
2024-06-11 00:51:22 -07:00
|
|
|
By default, the person who creates a repository is an **_Owner_**.
|
2020-10-15 01:46:57 -07:00
|
|
|
|
2022-03-03 15:04:59 -08:00
|
|
|
The table below gives an overview of what collaborators are allowed to do when granted each of these permission levels:
|
2020-10-15 01:46:57 -07:00
|
|
|
|
2021-07-26 03:07:23 -07:00
|
|
|
<table class="table">
|
2025-06-16 13:57:17 -07:00
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>Task</th>
|
|
|
|
|
<th>Read</th>
|
|
|
|
|
<th>Write</th>
|
|
|
|
|
<th>Admin</th>
|
|
|
|
|
<th>Owner</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
2026-07-17 10:52:36 -07:00
|
|
|
<td>View, clone, and pull repository</td>
|
2025-06-16 13:57:17 -07:00
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>Contribute pull requests</td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>Push to/update contributed pull requests</td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>Push directly to repository</td>
|
|
|
|
|
<td><span style="color: red">{% fas_icon "times" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
2026-07-17 10:52:36 -07:00
|
|
|
<td>Merge pull requests</td>
|
2025-06-16 13:57:17 -07:00
|
|
|
<td><span style="color: red">{% fas_icon "times" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>Moderate/delete issues and comments</td>
|
|
|
|
|
<td><span style="color: red">{% fas_icon "times" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>Force-push/rewrite history (if enabled)</td>
|
|
|
|
|
<td><span style="color: red">{% fas_icon "times" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>Add/remove collaborators to repository</td>
|
|
|
|
|
<td><span style="color: red">{% fas_icon "times" %}</span></td>
|
|
|
|
|
<td><span style="color: red">{% fas_icon "times" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>Configure branch settings (protect/un-protect, enable force-push)</td>
|
|
|
|
|
<td><span style="color: red">{% fas_icon "times" %}</span></td>
|
|
|
|
|
<td><span style="color: red">{% fas_icon "times" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>Configure repository settings (enable wiki, issues, PRs, update profile)</td>
|
|
|
|
|
<td><span style="color: red">{% fas_icon "times" %}</span></td>
|
|
|
|
|
<td><span style="color: red">{% fas_icon "times" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>Configure repository settings in the danger zone (transfer ownership, delete wiki data / repository, archive repository)</td>
|
|
|
|
|
<td><span style="color: red">{% fas_icon "times" %}</span></td>
|
|
|
|
|
<td><span style="color: red">{% fas_icon "times" %}</span></td>
|
|
|
|
|
<td><span style="color: red">{% fas_icon "times" %}</span></td>
|
|
|
|
|
<td><span style="color: green">{% fas_icon "check" %}</span></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
2022-03-03 15:04:59 -08:00
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
## Teams
|
|
|
|
|
|
2025-06-14 02:38:21 -07:00
|
|
|
The permissions for teams are quite configurable. You can specify which repositories a team has access to; therefore,
|
|
|
|
|
you can specify for each unit (Code Access, Issues, Releases) a different permission level.
|
2022-03-03 15:04:59 -08:00
|
|
|
|
2022-07-06 00:56:48 -07:00
|
|
|
Each unit is configured to have one of these 3 permission levels:
|
2022-03-03 15:04:59 -08:00
|
|
|
|
2026-07-17 10:52:36 -07:00
|
|
|
- **No Access:** Members cannot view or take any other action on this unit.
|
|
|
|
|
- **Read:** Members can view the unit and do standard actions for that unit. (See the Read column under [Collaborators](#collaborators).)
|
|
|
|
|
- **Write:** Members can view the unit and execute write actions that unit. (See the Write column under [Collaborators](#collaborators).)
|
2022-03-03 15:04:59 -08:00
|
|
|
|
2025-06-14 02:38:21 -07:00
|
|
|
When a team is configured to have administrator access, when this is specified, you cannot change units.
|
|
|
|
|
The team will have admin permissions (See the Admin column under [Collaborators](#collaborators)).
|
2022-03-03 15:04:59 -08:00
|
|
|
|
|
|
|
|
Currently, there are six units that can be configured:
|
|
|
|
|
|
2026-07-17 10:52:36 -07:00
|
|
|
- **Code:** access source code, files, commits, and branches.
|
|
|
|
|
- **Issues:** organize bug reports, tasks, and milestones.
|
|
|
|
|
- **Pull Requests:** access pull requests and code reviews.
|
|
|
|
|
- **Releases:** track the project versions and downloads.
|
|
|
|
|
- **Wiki:** access and write documentation.
|
|
|
|
|
- **Projects:** access/manage issues and pull requests in project boards.
|
2022-03-03 15:04:59 -08:00
|
|
|
|
|
|
|
|
There are also two units which can be toggled:
|
|
|
|
|
|
2026-07-17 10:52:36 -07:00
|
|
|
- **External Wiki:** access to external wiki.
|
|
|
|
|
- **External Issues:** access to the external issue tracker.
|
2022-03-03 15:04:59 -08:00
|
|
|
|
2025-06-14 02:38:21 -07:00
|
|
|
A team can be given the permission to create new repositories. When a member of such team creates a new repository,
|
|
|
|
|
they will get administrator access to the repository.
|