Skip to main content

Merge requests

A merge request proposes to merge the code of one branch (the source) into another (the target), for example a validated staging into production. Karizma One merge requests are real GitLab merge requests, kept in sync with the platform: you create, review and merge them without leaving Karizma One.

Access

Settings › Development › Merge Requests. Creating, viewing, analysing, closing and merging merge requests is limited to the project's Super Admin and Admin roles.

Merge request lifecycle​

Create a merge request​

There are three ways to create a merge request.

From the action bar

  1. On the project page, click Merge Request.
  2. In the Create a Merge Request dialog, type a title (Merge Request Title, at least 2 characters).
  3. Pick the Source Branch and the Target Branch. Only production, staging and development branches are listed.
  4. If the source is a development branch, you can tick Delete source branch when merge request is accepted.
  5. Click Create merge request. The message Merge request created successfully! confirms it.

By dragging a staging onto production

In the branch list, drag a branch from STAGING onto PRODUCTION, optionally type a title, then click Create merge request. See Ship a staging to production.

Directly in GitLab

A merge request created in GitLab appears in the list after you click Sync GitLab.

Track merge requests​

The Merge Requests page (Synchronized GitLab Merge Requests) lists the project's merge requests.

The merge request list and its indicators
The merge request list and its indicators
  • Sync GitLab fetches the latest data from GitLab (GitLab data synchronized.).
  • Four counters sum up the situation: Opened MR, Merged, Closed MR and Conflicts.
  • The All, Opened, Merged and Closed tabs filter by state; the Search by title or description... box filters by text.
ColumnContent
#Merge request number in GitLab.
Title & BranchesTitle, source → target branches, GitLab labels and, when relevant, the reason the merge is blocked.
AuthorAuthor of the merge request.
PipelineStatus of the latest pipeline: Passed, Failed, Running, Pending, Canceled or Unknown.
Statusopened, merged or closed.
AgeHow old the merge request is.
ActionsOpens the detail page or the merge request in GitLab.

Why a merge request cannot be merged​

A label shows what blocks the merge. The most common reasons:

LabelWhat to do
Conflicts with the target branchResolve the conflicts with Resolve in Web IDE.
Pipeline must pass first / Pipeline is still runningWait for the pipeline to finish or fix the error.
Unresolved discussionsResolve the open discussions in GitLab.
Still a draftRemove the draft status in GitLab.
Not approved yet / Changes were requestedGet the approval required by your GitLab repository's rules.
Needs a rebaseBring the source branch up to date with the target.
Blocked by another merge requestMerge the merge request it depends on first.
GitLab is still checking mergeabilityWait a moment, then click Sync GitLab.

Review a merge request​

Click a merge request to open its detail page. The header shows its number, its title, the source and target branches, the number of files changed and the lines added or removed.

TabContent
OverviewThe AI Overview summary and the merge request's activity (Activity): GitLab comments and events. View full activity shows the whole history.
ChangesThe differences, file by file, side by side or inline.
Commits (n)The merge request's commits; View commit details shows a commit's details.

Have the AI analyse the changes​

In the Overview tab, the AI Overview section (Automated Code Review) produces an automated review of the changes.

  1. Click Analyze AI.
  2. The analysis takes a few minutes; the result appears automatically.
  3. To run it again after new commits, click Re-analyze. A waiting time applies between two analyses (Re-trigger available in about N min.).

Act on a merge request​

On an open merge request, the action bar offers:

ButtonWhat it does
Close MRCloses the merge request without merging it.
Request ChangesOpens a comment box, pre-filled with a mention of the author. Post Comment posts the comment to GitLab (Correction request note posted to GitLab.).
Resolve in Web IDEOnly shown when there are conflicts. Opens the source branch in the Web IDE with the conflicting files. See Resolve merge request conflicts.
Validate & MergeMerges the merge request into the target branch (MR !N merged successfully.). Disabled while there are conflicts or a block; the tooltip Cannot merge: … gives the reason.

A closed merge request shows This Merge Request is closed. and the Reopen MR button to reopen it. A merged merge request shows This Merge Request has already been merged.

Approvals

Karizma One has no approval button. If your GitLab repository enforces approval rules, they are managed in GitLab and show up here as the Not approved yet block.

After the merge​

The merge creates a commit on the target branch, which runs its pipeline. Merging into the production branch deploys it to production: see Deployments and pipelines. Follow the deployment in the target branch's HISTORY tab.

See also​