Commit dedd2212 authored by Marcel Amirault's avatar Marcel Amirault

Remove duplicated information

Remove all duplicated information, consolidate it all in
tables, and update links. First pass.
parent 794e5173
...@@ -19,64 +19,45 @@ With GitLab merge requests, you can: ...@@ -19,64 +19,45 @@ With GitLab merge requests, you can:
- Compare the changes between two [branches](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell#_git_branching) - Compare the changes between two [branches](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell#_git_branching)
- [Review and discuss](../../discussions/index.md#threads) the proposed modifications inline - [Review and discuss](../../discussions/index.md#threads) the proposed modifications inline
- Live preview the changes when [Review Apps](../../../ci/review_apps/index.md) is configured for your project
- Build, test, and deploy your code in a per-branch basis with built-in [GitLab CI/CD](../../../ci/README.md) - Build, test, and deploy your code in a per-branch basis with built-in [GitLab CI/CD](../../../ci/README.md)
- Prevent the merge request from being merged before it's ready with [WIP MRs](#work-in-progress-merge-requests)
- View the deployment process through [Pipeline Graphs](../../../ci/pipelines.md#visualizing-pipelines) - View the deployment process through [Pipeline Graphs](../../../ci/pipelines.md#visualizing-pipelines)
- [Automatically close the issue(s)](../../project/issues/managing_issues.md#closing-issues-automatically) that originated the implementation proposed in the merge request - [Automatically close the issue(s)](../../project/issues/managing_issues.md#closing-issues-automatically) that originated the implementation proposed in the merge request
- Assign it to any registered user, and change the assignee how many times you need
- Assign a [milestone](../../project/milestones/index.md) and track the development of a broader implementation - Assign a [milestone](../../project/milestones/index.md) and track the development of a broader implementation
- Organize your issues and merge requests consistently throughout the project with [labels](../../project/labels.md) - Organize your issues and merge requests consistently throughout the project with [labels](../../project/labels.md)
- Add a time estimation and the time spent with that merge request with [Time Tracking](../time_tracking.md#time-tracking) - Add a time estimation and the time spent with that merge request with [Time Tracking](../time_tracking.md#time-tracking)
- [Resolve merge conflicts from the UI](resolve_conflicts.md)
- Enable [fast-forward merge requests](fast_forward_merge.md)
- Enable [semi-linear history merge requests](#semi-linear-history-merge-requests) as another security layer to guarantee the pipeline is passing in the target branch
- [Create new merge requests by email](#create-new-merge-requests-by-email)
- [Allow collaboration](allow_collaboration.md) so members of the target project can push directly to the fork - [Allow collaboration](allow_collaboration.md) so members of the target project can push directly to the fork
- [Squash and merge](squash_and_merge.md) for a cleaner commit history - [Squash and merge](squash_and_merge.md) for a cleaner commit history
With **[GitLab Enterprise Edition](https://about.gitlab.com/pricing/)**, you can also:
- Prepare a full review and submit it once it's ready with [Merge Request Reviews](../../discussions/index.md#merge-request-reviews-premium) **(PREMIUM)**
- View the deployment process across projects with [Multi-Project Pipelines](../../../ci/multi_project_pipelines.md) **(PREMIUM)**
- Request [approvals](merge_request_approvals.md) from your managers **(STARTER)**
- Analyze the impact of your changes with [Code Quality reports](code_quality.md) **(STARTER)**
- Manage the licenses of your dependencies with [License Compliance](../../application_security/license_compliance/index.md) **(ULTIMATE)**
- Analyze your source code for vulnerabilities with [Static Application Security Testing](../../application_security/sast/index.md) **(ULTIMATE)**
- Analyze your running web applications for vulnerabilities with [Dynamic Application Security Testing](../../application_security/dast/index.md) **(ULTIMATE)**
- Analyze your dependencies for vulnerabilities with [Dependency Scanning](../../application_security/dependency_scanning/index.md) **(ULTIMATE)**
- Analyze your Docker images for vulnerabilities with [Container Scanning](../../application_security/container_scanning/index.md) **(ULTIMATE)**
- Determine the performance impact of changes with [Browser Performance Testing](browser_performance_testing.md) **(PREMIUM)**
- Specify merge order dependencies with [Merge Request Dependencies](merge_request_dependencies.md) **(PREMIUM)**
### Creating merge requests ### Creating merge requests
While directly making changes to files in a branch of a repository is possible, it is not While directly making changes to files in a branch of a repository is possible, it is not
the common workflow. In most cases, a user will [create a merge request](creating_merge_requests.md), the common workflow. In most cases, a user will [create a merge request](creating_merge_requests.md),
which is then reviewed, updated, approved and merged into the target branch. In the which is then reviewed, updated, approved and merged into the target branch. This is
case of the master branch, most large projects require all changes to be submitted especially true for merging changes from a feature branch into the master branch.
through a merge request.
[Creating merge requests](creating_merge_requests.md), as well as [reviewing and managing them](#reviewing-and-managing-merge-requests),
Creating merge requests in GitLab... is a fundamental part of working with GitLab.
| Feature | Tier | Description | A large number of features relate directly to the merge request creation process:
|---------------------------------------------------------------------------------------------------------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------|
| [Adding patches when creating a merge request via e-mail](#adding-patches-when-creating-a-merge-request-via-e-mail) | | | | Features to help create merge requests | Description |
| [Allow collaboration on merge requests across forks](#allow-collaboration-on-merge-requests-across-forks) | | | |-----------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|
| [Create new merge requests by email](#create-new-merge-requests-by-email) | | Create new merge requests by sending an email to a user-specific email address. | | [Adding patches when creating a merge request via e-mail](creating_merge_requests.md#adding-patches-when-creating-a-merge-request-via-e-mail) | |
| [Deleting the source branch](#deleting-the-source-branch) | | Select the "Delete source branch when merge request accepted" option and the source branch will be deleted when the merge request is merged. | | [Allow collaboration on merge requests across forks](creating_merge_requests.md#allow-collaboration-on-merge-requests-across-forks) | |
| [Ignore whitespace changes in Merge Request diff view](#ignore-whitespace-changes-in-Merge-Request-diff-view) | | | | [Create new merge requests by email](creating_merge_requests.md#create-new-merge-requests-by-email) | Create new merge requests by sending an email to a user-specific email address. |
| [Incrementally expand merge request diffs](#incrementally-expand-merge-request-diffs) | | | | [Deleting the source branch](creating_merge_requests.md#deleting-the-source-branch) | Select the "Delete source branch when merge request accepted" option and the source branch will be deleted when the merge request is merged. |
| [Merge request approvals](merge_request_approvals.md) | Starter | Set the number of necessary approvals and predefine a list of approvers that will need to approve every merge request in a project. | | [Ignore whitespace changes in Merge Request diff view](creating_merge_requests.md#ignore-whitespace-changes-in-Merge-Request-diff-view) | |
| [Merge Request Dependencies](merge_request_dependencies.md) | Premium | Specify that a merge request depends on other MRs. | | [Incrementally expand merge request diffs](creating_merge_requests.md#incrementally-expand-merge-request-diffs) | |
| [Merge request diff file navigation](#merge-request-diff-file-navigation) | | | | [Merge request approvals](merge_request_approvals.md) **(STARTER)** | Set the number of necessary approvals and predefine a list of approvers that will need to approve every merge request in a project. |
| [Merge Requests for Confidential Issues](../issues/confidential_issues.md#merge-requests-for-confidential-issues) | | Create merge requests to resolve confidential issues for preventing leakage or early release of sensitive data through regular merge requests. | | [Merge Request Dependencies](merge_request_dependencies.md) **(PREMIUM)** | Specify that a merge request depends on other merge requests, enforcing a desired order of merging. |
| [Multiple assignees](#multiple-assignees-starter) | Starter | Have multiple assignees for merge requests to indicate everyone that is reviewing or accountable for it. | | [Merge request diff file navigation](creating_merge_requests.md#merge-request-diff-file-navigation) | |
| [Security reports](../../application_security/index.md) | Ultimate | GitLab can scan and report any vulnerabilities found in your project. | | [Merge Requests for Confidential Issues](../issues/confidential_issues.md#merge-requests-for-confidential-issues) | Create merge requests to resolve confidential issues for preventing leakage or early release of sensitive data through regular merge requests. |
| [Squash and merge](#squash-and-merge) | | Squash all changes present in a merge request into a single commit when merging, to allow for a neater commit history. | | [Multiple assignees](creating_merge_requests.md#multiple-assignees-starter) **(STARTER)** | Have multiple assignees for merge requests to indicate everyone that is reviewing or accountable for it. |
| [Work In Progress merge requests](#work-in-progress-merge-requests) | | | | [Security reports](../../application_security/index.md) **(ULTIMATE)** | GitLab can scan and report any vulnerabilities found in your project. |
| [Git push options](../push_options.md) | | Use Git push options to create or update merge requests when pushing changes to GitLab with Git, without needing to use the GitLab interface. | | [Squash and merge](creating_merge_requests.md#squash-and-merge) | Squash all changes present in a merge request into a single commit when merging, to allow for a neater commit history. |
| [View changes between file versions](#view-changes-between-file-versions) | | | | [Work In Progress merge requests](creating_merge_requests.md#work-in-progress-merge-requests) | Prevent the merge request from being merged before it's ready |
| [Git push options](../push_options.md) | Use Git push options to create or update merge requests when pushing changes to GitLab with Git, without needing to use the GitLab interface. |
| [View changes between file versions](#view-changes-between-file-versions) | |
### Reviewing and managing merge requests ### Reviewing and managing merge requests
...@@ -87,48 +68,48 @@ into the repository. ...@@ -87,48 +68,48 @@ into the repository.
Additionally, GitLab has many features that help maintainers manage the merge Additionally, GitLab has many features that help maintainers manage the merge
requests in a project... requests in a project...
| Feature | Tier | Description | | Features to help review and manage merge requests | Description |
|-------------------------------------------------------------------------------------------------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------| |-------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Bulk editing merge requests](../../project/bulk_editing.md) | | | | [Bulk editing merge requests](../../project/bulk_editing.md) | |
| [Cherry-pick changes](cherry_pick_changes.md) | | Cherry-pick any commit in the UI by simply clicking the **Cherry-pick** button in a merged merge requests or a commit. | | [Cherry-pick changes](cherry_pick_changes.md) | Cherry-pick any commit in the UI by simply clicking the **Cherry-pick** button in a merged merge requests or a commit. |
| [Commenting on any file line in merge requests](#commenting-on-any-file-line-in-merge-requests) | | | | [Commenting on any file line in merge requests](reviewing_and_managing_merge_requests.md#commenting-on-any-file-line-in-merge-requests) | |
| [Fast-forward merge requests](fast_forward_merge.md) | | For a linear Git history and a way to accept merge requests without creating merge commits | | [Fast-forward merge requests](fast_forward_merge.md) | For a linear Git history and a way to accept merge requests without creating merge commits |
| [Find the merge request that introduced a change](versions.md) | | When viewing the commit details page, GitLab will link to the merge request(s) containing that commit. | | [Find the merge request that introduced a change](versions.md) | When viewing the commit details page, GitLab will link to the merge request(s) containing that commit. |
| [Live preview with Review Apps](#live-preview-with-review-apps) | | | | [Live preview with Review Apps](reviewing_and_managing_merge_requests.md#live-preview-with-review-apps) | Live preview the changes when Review Apps are configured for your project |
| [Merge requests versions](versions.md) | | Select and compare the different versions of merge request diffs | | [Merge requests versions](versions.md) | Select and compare the different versions of merge request diffs |
| [Merge when pipeline succeeds](merge_when_pipeline_succeeds.md) | | Set a merge request that looks ready to merge to merge automatically when CI pipeline succeeds. | | [Merge when pipeline succeeds](merge_when_pipeline_succeeds.md) | Set a merge request that looks ready to merge to merge automatically when CI pipeline succeeds. |
| [Perform a Review](../../discussions/index.md#merge-request-reviews-premium) | Premium | Start a review in order to create multiple comments on a diff and publish them once you're ready. | | [Perform a Review](../../discussions/index.md#merge-request-reviews-premium) **(PREMIUM)** | Start a review in order to create multiple comments on a diff and publish them once you're ready. |
| [Pipeline status in merge requests](#pipeline-status-in-merge-requests) | | | | [Pipeline status in merge requests](reviewing_and_managing_merge_requests.md#pipeline-status-in-merge-requests) | |
| [Post-merge pipeline status](#post-merge-pipeline-status) | | | | [Post-merge pipeline status](reviewing_and_managing_merge_requests.md#post-merge-pipeline-status) | |
| [Resolve conflicts](resolve_conflicts.md) | | GitLab can provide the option to resolve certain merge request conflicts in the GitLab UI. | | [Resolve conflicts](resolve_conflicts.md) | GitLab can provide the option to resolve certain merge request conflicts in the GitLab UI. |
| [Resolve threads in merge requests reviews](../../discussions/index.md) | | Keep track of the progress during a code review by resolving comments. | | [Resolve threads in merge requests reviews](../../discussions/index.md) | Keep track of the progress during a code review by resolving comments. |
| [Revert changes](revert_changes.md) | | Revert changes from any commit from within a merge request. | | [Revert changes](revert_changes.md) | Revert changes from any commit from within a merge request. |
| [Semi-linear history merge requests](#semi-linear-history-merge-requests) | | | | [Semi-linear history merge requests](reviewing_and_managing_merge_requests.md#semi-linear-history-merge-requests) | Enable semi-linear history merge requests as another security layer to guarantee the pipeline is passing in the target branch |
| [Suggest changes](../../discussions/index.md#suggest-changes) | | Add suggestions to change the content of merge requests directly into merge request threads, and easily apply them to the codebase directly from the UI. | | [Suggest changes](../../discussions/index.md#suggest-changes) | Add suggestions to change the content of merge requests directly into merge request threads, and easily apply them to the codebase directly from the UI. |
| [View group merge requests](#view-group-merge-requests) | | | | [View group merge requests](reviewing_and_managing_merge_requests.md#view-group-merge-requests) | |
| [View project merge requests](#view-project-merge-requests) | | | | [View project merge requests](reviewing_and_managing_merge_requests.md#view-project-merge-requests) | |
| [Authorization for merge requests](#authorization-for-merge-requests) | | | | [Authorization for merge requests](reviewing_and_managing_merge_requests.md#authorization-for-merge-requests) | |
### Testing and reports in merge requests ### Testing and reports in merge requests
GitLab has the ability to do various tests on the changes included in a merge request, GitLab has the ability to do various tests on the changes included in a merge request,
and link to them directly from within the merge request page... and link to them directly from within the merge request page...
| Feature | Tier | Description | | Features that can display important information in merge requests | Description |
|------------------------------------------------------------------------------|------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |--------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Pipelines for merge requests](../../../ci/merge_request_pipelines/index.md) | | Customize a specific pipeline structure for merge requests in order to speed the cycle up by running only important jobs. | | [Pipelines for merge requests](../../../ci/merge_request_pipelines/index.md) | Customize a specific pipeline structure for merge requests in order to speed the cycle up by running only important jobs. |
| Multi-Project pipelines | Premium | | | [Multi-Project pipelines](../../../ci/multi_project_pipelines.md) **(PREMIUM)** | When you set up GitLab CI/CD across multiple projects, you can visualize the entire pipeline, including all cross-project interdependencies. |
| [Browser Performance Testing](browser_performance_testing.md) | Premium | Quickly determine the performance impact of pending code changes. | | [Browser Performance Testing](browser_performance_testing.md) **(PREMIUM)** | Quickly determine the performance impact of pending code changes. |
| [Code Quality](code_quality.md) | Starter | Analyze your source code quality using the [Code Climate](https://codeclimate.com/) analyzer and show the Code Climate report right in the merge request widget area. | | [Code Quality](code_quality.md) **(STARTER)** | Analyze your source code quality using the [Code Climate](https://codeclimate.com/) analyzer and show the Code Climate report right in the merge request widget area. |
| [JUnit test reports](../../../ci/junit_test_reports.md) | | Configure your CI jobs to use JUnit test reports, and let GitLab display a report on the merge request so that it’s easier and faster to identify the failure without having to check the entire job log. | | [JUnit test reports](../../../ci/junit_test_reports.md) | Configure your CI jobs to use JUnit test reports, and let GitLab display a report on the merge request so that it’s easier and faster to identify the failure without having to check the entire job log. |
| [Metrics Reports](../../../ci/metrics_reports.md) | Premium | display the Metrics Report on the merge request so that it's fast and easy to identify changes to important metrics. | | [Metrics Reports](../../../ci/metrics_reports.md) **(PREMIUM)** | Display the Metrics Report on the merge request so that it's fast and easy to identify changes to important metrics. |
| Container Scanning | (Ultimate) | | | [Container Scanning](../../application_security/container_scanning/index.md) **(ULTIMATE)** | Analyze your Docker images for vulnerabilities |
| DAST | (Ultimate) | | | [DAST (Dynamic Application Security Testing)](../../application_security/dast/index.md) **(ULTIMATE)** | Analyze your running web applications for vulnerabilities |
| Dependency Scanning | (Ultimate) | | | [Dependency Scanning](../../application_security/dependency_scanning/index.md) **(ULTIMATE)** | Analyze your dependencies for vulnerabilities |
| License compliance | (Ultimate) | | | [License Compliance](../../application_security/license_compliance/index.md) **(ULTIMATE)** | Manage the licenses of your dependencies |
| SAST | (Ultimate) | | | [SAST (Static Application Security Testing)](../../application_security/sast/index.md) **(ULTIMATE)** | Analyze your source code for vulnerabilities |
## Authorization for merge requests ### Authorization for merge requests
There are two main ways to have a merge request flow with GitLab: There are two main ways to have a merge request flow with GitLab:
......
...@@ -2,28 +2,6 @@ ...@@ -2,28 +2,6 @@
There are many ways to work with merge requests. There are many ways to work with merge requests.
| Feature | Tier | Description |
|-------------------------------------------------------------------------------------------------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Bulk editing merge requests](../../project/bulk_editing.md) | | |
| [Cherry-pick changes](cherry_pick_changes.md) | | Cherry-pick any commit in the UI by simply clicking the **Cherry-pick** button in a merged merge requests or a commit. |
| [Commenting on any file line in merge requests](#commenting-on-any-file-line-in-merge-requests) | | |
| [Fast-forward merge requests](fast_forward_merge.md) | | For a linear Git history and a way to accept merge requests without creating merge commits |
| [Find the merge request that introduced a change](versions.md) | | When viewing the commit details page, GitLab will link to the merge request(s) containing that commit. |
| [Live preview with Review Apps](#live-preview-with-review-apps) | | |
| [Merge requests versions](versions.md) | | Select and compare the different versions of merge request diffs |
| [Merge when pipeline succeeds](merge_when_pipeline_succeeds.md) | | Set a merge request that looks ready to merge to merge automatically when CI pipeline succeeds. |
| [Perform a Review](../../discussions/index.md#merge-request-reviews-premium) | Premium | Start a review in order to create multiple comments on a diff and publish them once you're ready. |
| [Pipeline status in merge requests](#pipeline-status-in-merge-requests) | | |
| [Post-merge pipeline status](#post-merge-pipeline-status) | | |
| [Resolve conflicts](resolve_conflicts.md) | | GitLab can provide the option to resolve certain merge request conflicts in the GitLab UI. |
| [Resolve threads in merge requests reviews](../../discussions/index.md) | | Keep track of the progress during a code review by resolving comments. |
| [Revert changes](revert_changes.md) | | Revert changes from any commit from within a merge request. |
| [Semi-linear history merge requests](#semi-linear-history-merge-requests) | | |
| [Suggest changes](../../discussions/index.md#suggest-changes) | | Add suggestions to change the content of merge requests directly into merge request threads, and easily apply them to the codebase directly from the UI. |
| [View group merge requests](#view-group-merge-requests) | | |
| [View project merge requests](#view-project-merge-requests) | | |
| [Authorization for merge requests](#authorization-for-merge-requests) | | |
## View project merge requests ## View project merge requests
View all the merge requests within a project by navigating to **Project > Merge Requests**. View all the merge requests within a project by navigating to **Project > Merge Requests**.
......
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