Commit c9561554 authored by GitLab Bot's avatar GitLab Bot
Browse files

Add latest changes from gitlab-org/gitlab@master

parent a7365a37f1f2
......@@ -35,6 +35,6 @@ export default {
<file-row :file="file" v-bind="$attrs" v-on="$listeners">
<file-row-stats v-if="showFileRowStats" :file="file" class="mr-1" />
<changed-file-icon :file="file" :size="16" />
<changed-file-icon :file="file" :size="16" :show-tooltip="true" />
import { GlTooltipDirective } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import { __ } from '~/locale';
import { getCommitIconMap } from '~/ide/utils';
import { __ } from '~/locale';
export default {
components: {
......@@ -49,9 +49,17 @@ export default {
return `${this.changedIcon} float-left d-block`;
tooltipTitle() {
if (!this.showTooltip || !this.file.changed) return undefined;
if (!this.showTooltip) {
return undefined;
} else if (this.file.deleted) {
return __('Deleted');
} else if (this.file.tempFile) {
return __('Added');
} else if (this.file.changed) {
return __('Modified');
return this.file.tempFile ? __('Added') : __('Modified');
return undefined;
showIcon() {
return (
......@@ -236,7 +236,11 @@ class Pipeline < ApplicationRecord
after_transition any => [:success, :failed] do |pipeline|
pipeline.run_after_commit do
if Feature.enabled?(:ci_pipeline_fixed_notifications)
......@@ -17,6 +17,8 @@ class Snippet < ApplicationRecord
include HasRepository
extend ::Gitlab::Utils::Override
ignore_column :repository_storage, remove_with: '12.10', remove_after: '2020-03-22'
cache_markdown_field :title, pipeline: :single_line
......@@ -23,6 +23,7 @@
#{ paragraph.html_safe }
- notification_setting.email_events.each_with_index do |event, index|
- next if event == :fixed_pipeline && Feature.disabled?(:ci_pipeline_fixed_notifications)
- field_id = "#{notifications_menu_identifier("modal", notification_setting)}_notification_setting[#{event}]"
.form-check{ class: ("prepend-top-0" if index == 0) }
title: Add tooltip to modification icon in the file tree
merge_request: 27158
type: other
title: Introduce a feature flag for Notifications for when pipelines are fixed
merge_request: 26682
author: Jacopo Beschi @jacopo-beschi
type: changed
......@@ -54,6 +54,8 @@ management between systems:
### Improving NFS performance with GitLab
#### Improving NFS performance with Unicorn
NOTE: **Note:** From GitLab 12.1, it will automatically be detected if Rugged can and should be used per storage.
If you previously enabled Rugged using the feature flag, you will need to unset the feature flag by using:
......@@ -64,6 +66,16 @@ sudo gitlab-rake gitlab:features:unset_rugged
If the Rugged feature flag is explicitly set to either true or false, GitLab will use the value explicitly set.
#### Improving NFS performance with Puma
NOTE: **Note:** From GitLab 12.7, Rugged auto-detection is disabled if Puma thread count is greater than 1.
If you want to use Rugged with Puma, it is recommended to [set Puma thread count to 1](
If you want to use Rugged with Puma thread count more than 1, Rugged can be enabled using the [feature flag](../../development/
If the Rugged feature flag is explicitly set to either true or false, GitLab will use the value explicitly set.
### Known issues
On some customer systems, we have seen NFS clients slow precipitously due to
......@@ -188,6 +188,9 @@ With Visual Reviews, you can provide a feedback form to your Review Apps so
that reviewers can post comments directly from the app back to the merge request
that spawned the Review App.
NOTE: **Note:** Visual Reviews currently only work for public projects. Support for private
and internal projects [is planned](
### Configuring Visual Reviews
Ensure that the `anonymous_visual_review_feedback` feature flag is enabled.
......@@ -181,11 +181,11 @@ Complementary reads:
- [Externalization](i18n/
- [Translation](i18n/
## Event tracking guides
## Telemetry guides
- [Introduction](event_tracking/
- [Frontend tracking guide](event_tracking/
- [Backend tracking guide](event_tracking/
- [Introduction](../telemetry/
- [Frontend tracking guide](../telemetry/
- [Backend tracking guide](../telemetry/
## Experiment Guide
......@@ -55,7 +55,7 @@ The author then adds a comment to this piece of code and adds a link to the issu
- Track necessary events. See the [event tracking guide](../event_tracking/ for details.
- Track necessary events. See the [telemetry guide](../../telemetry/ for details.
- After the merge request is merged, use [`chatops`](../../ci/chatops/ to enable the feature flag and start the experiment. For visibility, please run the command in the `#s_growth` channel:
redirect_to: '../event_tracking/'
redirect_to: '../../telemetry/'
This document was moved to [another location](../event_tracking/
This document was moved to [another location](../../telemetry/
......@@ -5,7 +5,7 @@ blocks of Ruby code. Method instrumentation is the primary form of
instrumentation with block-based instrumentation only being used when we want to
drill down to specific regions of code within a method.
Please refer to [Event tracking](event_tracking/ if you are tracking product usage patterns.
Please refer to [Telemetry](../telemetry/ if you are tracking product usage patterns.
## Instrumenting Methods
......@@ -44,7 +44,7 @@ From the backend, the events that are tracked will likely consist of things like
See [Backend tracking guide](
Also, see [Instrumenting Ruby code](../ if you are instrumenting application performance metrics for Ruby code.
Also, see [Instrumenting Ruby code](../development/ if you are instrumenting application performance metrics for Ruby code.
## Enabling tracking
......@@ -5,7 +5,7 @@ type: reference, howto
# Epics **(PREMIUM)**
> - Introduced in [GitLab Ultimate]( 10.2.
> - In [GitLab 12.8](, single-level Epics were moved to Premium tier.
> - In [GitLab 12.8](, single-level Epics were moved to the Premium tier.
Epics let you manage your portfolio of projects more efficiently and with less
effort by tracking groups of issues that share a theme, across projects and
......@@ -2,9 +2,10 @@
type: reference
# Roadmap **(ULTIMATE)**
# Roadmap **(PREMIUM)**
> Introduced in [GitLab Ultimate]( 10.5.
> - Introduced in [GitLab Ultimate]( 10.5.
> - In [GitLab 12.9](, Roadmaps were moved to the Premium tier.
An Epic within a group containing **Start date** and/or **Due date**
can be visualized in a form of a timeline (e.g. a Gantt chart). The Epics Roadmap page
......@@ -35,7 +36,8 @@ Roadmaps can also be [visualized inside an epic](../epics/
## Timeline duration
> Introduced in [GitLab Ultimate]( 11.0.
> - Introduced in [GitLab Ultimate]( 11.0.
> - In [GitLab 12.9](, Timelines were moved to the Premium tier.
Roadmap supports the following date ranges:
......@@ -181,7 +181,7 @@ To minimize the number of notifications that do not require any action, from [Gi
| Remove milestone merge request | Subscribers, participants mentioned, and Custom notification level with this event selected |
| New comment | The above, plus anyone mentioned by `@username` in the comment, with notification level "Mention" or higher |
| Failed pipeline | The author of the pipeline |
| Fixed pipeline | The author of the pipeline |
| Fixed pipeline | The author of the pipeline. Disabled by default. To activate it you must [enable the `ci_pipeline_fixed_notifications` feature flag](../../development/feature_flags/ |
| Successful pipeline | The author of the pipeline, if they have the custom notification setting for successful pipelines set. If the pipeline failed previously, a `Fixed pipeline` message will be sent for the first successful pipeline after the failure, then a `Successful pipeline` message for any further successful pipelines. |
| New epic **(ULTIMATE)** | |
| Close epic **(ULTIMATE)** | |
# frozen_string_literal: true
module Gitlab
module Checks
class PushFileCountCheck < BaseChecker
attr_reader :repository, :newrev, :limit, :logger
diff_content_check: "Validating diff contents being single file..."
upper_limit: "The repository can contain at most %{limit} file(s).",
lower_limit: "The repository must contain at least 1 file."
def initialize(change, repository:, limit:, logger:)
@repository = repository
@newrev = change[:newrev]
@limit = limit
@logger = logger
def validate!
file_count = repository.ls_files(newrev).size
if file_count > limit
raise ::Gitlab::GitAccess::ForbiddenError, ERROR_MESSAGES[:upper_limit] % { limit: limit }
if file_count == 0
raise ::Gitlab::GitAccess::ForbiddenError, ERROR_MESSAGES[:lower_limit]
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