Commit af9e7094 authored by Mayra Cabrera's avatar Mayra Cabrera

Merge branch '340566-fix-language-about-deleting-default-branch' into 'master'

Clarify that default branches cannot be deleted

See merge request gitlab-org/gitlab!70627
parents 8d077026 00ce4e75
...@@ -248,7 +248,7 @@ listed in the descriptions of the relevant settings. ...@@ -248,7 +248,7 @@ listed in the descriptions of the relevant settings.
| `deactivate_dormant_users` | boolean | no | Enable [automatic deactivation of dormant users](../user/admin_area/moderate_users.md#automatically-deactivate-dormant-users). | | `deactivate_dormant_users` | boolean | no | Enable [automatic deactivation of dormant users](../user/admin_area/moderate_users.md#automatically-deactivate-dormant-users). |
| `default_artifacts_expire_in` | string | no | Set the default expiration time for each job's artifacts. | | `default_artifacts_expire_in` | string | no | Set the default expiration time for each job's artifacts. |
| `default_branch_name` | string | no | [Instance-level custom initial branch name](../user/project/repository/branches/default.md#instance-level-custom-initial-branch-name) ([introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/225258) in GitLab 13.2). | | `default_branch_name` | string | no | [Instance-level custom initial branch name](../user/project/repository/branches/default.md#instance-level-custom-initial-branch-name) ([introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/225258) in GitLab 13.2). |
| `default_branch_protection` | integer | no | Determine if developers can push to the default branch. Can take: `0` _(not protected, both developers and maintainers can push new commits, force push, or delete the branch)_, `1` _(partially protected, developers and maintainers can push new commits, but cannot force push, or delete, the branch)_ or `2` _(fully protected, developers cannot push new commits, but maintainers can; no-one can force push or delete the branch)_ as a parameter. Default is `2`. | | `default_branch_protection` | integer | no | Determine if developers can push to the default branch. Can take: `0` _(not protected, both developers and maintainers can push new commits and force push)_, `1` _(partially protected, developers and maintainers can push new commits, but cannot force push)_ or `2` _(fully protected, developers cannot push new commits, but maintainers can; no one can force push)_ as a parameter. Default is `2`. |
| `default_ci_config_path` | string | no | Default CI/CD configuration file and path for new projects (`.gitlab-ci.yml` if not set). | | `default_ci_config_path` | string | no | Default CI/CD configuration file and path for new projects (`.gitlab-ci.yml` if not set). |
| `default_group_visibility` | string | no | What visibility level new groups receive. Can take `private`, `internal` and `public` as a parameter. Default is `private`. | | `default_group_visibility` | string | no | What visibility level new groups receive. Can take `private`, `internal` and `public` as a parameter. Default is `private`. |
| `default_project_creation` | integer | no | Default project creation protection. Can take: `0` _(No one)_, `1` _(Maintainers)_ or `2` _(Developers + Maintainers)_| | `default_project_creation` | integer | no | Default project creation protection. Can take: `0` _(No one)_, `1` _(Maintainers)_ or `2` _(Developers + Maintainers)_|
......
...@@ -21,10 +21,7 @@ To access the visibility and access control options: ...@@ -21,10 +21,7 @@ To access the visibility and access control options:
With this option, you can define [branch protections](../../project/protected_branches.md) With this option, you can define [branch protections](../../project/protected_branches.md)
to apply to every repository's [default branch](../../project/repository/branches/default.md). to apply to every repository's [default branch](../../project/repository/branches/default.md).
These protections specify the user roles with permission to: These protections specify the user roles with permission to push to default branches.
- Push to branches.
- Delete branches.
This setting applies only to each repository's default branch. To protect other branches, This setting applies only to each repository's default branch. To protect other branches,
you must configure [branch protection in the repository](../../project/protected_branches.md), you must configure [branch protection in the repository](../../project/protected_branches.md),
...@@ -37,14 +34,14 @@ To change the default branch protection for the entire instance: ...@@ -37,14 +34,14 @@ To change the default branch protection for the entire instance:
1. On the left sidebar, select **Settings > General**. 1. On the left sidebar, select **Settings > General**.
1. Expand the **Visibility and access controls** section. 1. Expand the **Visibility and access controls** section.
1. Select a **Default branch protection**: 1. Select a **Default branch protection**:
- **Not protected** - Both developers and maintainers can push new commits, - **Not protected** - Both developers and maintainers can push new commits
force push, or delete the branch. and force push.
- **Protected against pushes** - Developers cannot push new commits, but are - **Protected against pushes** - Developers cannot push new commits, but are
allowed to accept merge requests to the branch. Maintainers can push to the branch. allowed to accept merge requests to the branch. Maintainers can push to the branch.
- **Partially protected** - Both developers and maintainers can push new commits, - **Partially protected** - Both developers and maintainers can push new commits,
but cannot force push or delete the branch. but cannot force push.
- **Fully protected** - Developers cannot push new commits, but maintainers can. - **Fully protected** - Developers cannot push new commits, but maintainers can.
No one can force push or delete the branch. No one can force push.
1. To allow group owners to override the instance's default branch protection, select 1. To allow group owners to override the instance's default branch protection, select
[**Allow owners to manage default branch protection per group**](#prevent-overrides-of-default-branch-protection). [**Allow owners to manage default branch protection per group**](#prevent-overrides-of-default-branch-protection).
1. Select **Save changes**. 1. Select **Save changes**.
......
...@@ -11,8 +11,9 @@ When you create a new [project](../../index.md), GitLab creates a default branch ...@@ -11,8 +11,9 @@ When you create a new [project](../../index.md), GitLab creates a default branch
in the repository. A default branch has special configuration options not shared in the repository. A default branch has special configuration options not shared
by other branches: by other branches:
- It cannot be deleted.
- It's [initially protected](../../protected_branches.md#protected-branches) against - It's [initially protected](../../protected_branches.md#protected-branches) against
accidental deletion and forced pushes. forced pushes.
- When a merge request uses an - When a merge request uses an
[issue closing pattern](../../issues/managing_issues.md#closing-issues-automatically) [issue closing pattern](../../issues/managing_issues.md#closing-issues-automatically)
to close an issue, the work is merged into this branch. to close an issue, the work is merged into this branch.
...@@ -97,7 +98,7 @@ Ensure they understand the scope of this change includes references to the old ...@@ -97,7 +98,7 @@ Ensure they understand the scope of this change includes references to the old
branch name in related code and scripts. branch name in related code and scripts.
When changing the default branch name for an existing repository, you should preserve When changing the default branch name for an existing repository, you should preserve
the history of your default branch by renaming it, instead of deleting it. This example the history of your default branch by renaming it, instead of creating a new branch. This example
renames a Git repository's (`example`) default branch. renames a Git repository's (`example`) default branch.
1. On your local command line, navigate to your `example` repository, and ensure 1. On your local command line, navigate to your `example` repository, and ensure
......
...@@ -75,10 +75,10 @@ module Gitlab ...@@ -75,10 +75,10 @@ module Gitlab
def protection_options def protection_options
{ {
"Not protected: Both developers and maintainers can push new commits, force push, or delete the branch." => PROTECTION_NONE, "Not protected: Both developers and maintainers can push new commits and force push." => PROTECTION_NONE,
"Protected against pushes: Developers cannot push new commits, but are allowed to accept merge requests to the branch. Maintainers can push to the branch." => PROTECTION_DEV_CAN_MERGE, "Protected against pushes: Developers cannot push new commits, but are allowed to accept merge requests to the branch. Maintainers can push to the branch." => PROTECTION_DEV_CAN_MERGE,
"Partially protected: Both developers and maintainers can push new commits, but cannot force push or delete the branch." => PROTECTION_DEV_CAN_PUSH, "Partially protected: Both developers and maintainers can push new commits, but cannot force push." => PROTECTION_DEV_CAN_PUSH,
"Fully protected: Developers cannot push new commits, but maintainers can. No-one can force push or delete the branch." => PROTECTION_FULL "Fully protected: Developers cannot push new commits, but maintainers can. No one can force push." => PROTECTION_FULL
} }
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment