Commit fc4618ba authored by GitLab Bot's avatar GitLab Bot

Merge remote-tracking branch 'upstream/master' into ce-to-ee-2018-10-10

# Conflicts:
#	app/controllers/admin/health_check_controller.rb
#	app/models/application_setting.rb
#	db/schema.rb
#	doc/administration/monitoring/prometheus/gitlab_metrics.md
#	doc/api/settings.md
#	locale/gitlab.pot

[ci skip]
parents 57e9d641 8f13e071
...@@ -2,9 +2,13 @@ ...@@ -2,9 +2,13 @@
class Admin::HealthCheckController < Admin::ApplicationController class Admin::HealthCheckController < Admin::ApplicationController
def show def show
<<<<<<< HEAD
checks = ['standard'] checks = ['standard']
checks << 'geo' if Gitlab::Geo.secondary? checks << 'geo' if Gitlab::Geo.secondary?
@errors = HealthCheck::Utils.process_checks(checks) @errors = HealthCheck::Utils.process_checks(checks)
=======
@errors = HealthCheck::Utils.process_checks(['standard'])
>>>>>>> upstream/master
end end
end end
...@@ -5,7 +5,10 @@ class ApplicationSetting < ActiveRecord::Base ...@@ -5,7 +5,10 @@ class ApplicationSetting < ActiveRecord::Base
include CacheMarkdownField include CacheMarkdownField
include TokenAuthenticatable include TokenAuthenticatable
include IgnorableColumn include IgnorableColumn
<<<<<<< HEAD
prepend EE::ApplicationSetting prepend EE::ApplicationSetting
=======
>>>>>>> upstream/master
add_authentication_token_field :runners_registration_token add_authentication_token_field :runners_registration_token
add_authentication_token_field :health_check_access_token add_authentication_token_field :health_check_access_token
......
...@@ -177,6 +177,11 @@ ActiveRecord::Schema.define(version: 20181008200441) do ...@@ -177,6 +177,11 @@ ActiveRecord::Schema.define(version: 20181008200441) do
t.boolean "throttle_authenticated_web_enabled", default: false, null: false t.boolean "throttle_authenticated_web_enabled", default: false, null: false
t.integer "throttle_authenticated_web_requests_per_period", default: 7200, null: false t.integer "throttle_authenticated_web_requests_per_period", default: 7200, null: false
t.integer "throttle_authenticated_web_period_in_seconds", default: 3600, null: false t.integer "throttle_authenticated_web_period_in_seconds", default: 3600, null: false
<<<<<<< HEAD
=======
t.boolean "password_authentication_enabled_for_web"
t.boolean "password_authentication_enabled_for_git", default: true
>>>>>>> upstream/master
t.integer "gitaly_timeout_default", default: 55, null: false t.integer "gitaly_timeout_default", default: 55, null: false
t.integer "gitaly_timeout_medium", default: 30, null: false t.integer "gitaly_timeout_medium", default: 30, null: false
t.integer "gitaly_timeout_fast", default: 10, null: false t.integer "gitaly_timeout_fast", default: 10, null: false
......
...@@ -45,7 +45,10 @@ The following metrics are available: ...@@ -45,7 +45,10 @@ The following metrics are available:
| redis_ping_success | Gauge | 9.4 | Whether or not the last redis ping succeeded | | redis_ping_success | Gauge | 9.4 | Whether or not the last redis ping succeeded |
| redis_ping_latency_seconds | Gauge | 9.4 | Round trip time of the redis ping | | redis_ping_latency_seconds | Gauge | 9.4 | Round trip time of the redis ping |
| user_session_logins_total | Counter | 9.4 | Counter of how many users have logged in | | user_session_logins_total | Counter | 9.4 | Counter of how many users have logged in |
<<<<<<< HEAD
| upload_file_does_not_exist | Counter | 10.7 | Number of times an upload record could not find its file | | upload_file_does_not_exist | Counter | 10.7 | Number of times an upload record could not find its file |
=======
>>>>>>> upstream/master
| failed_login_captcha_total | Gauge | 11.0 | Counter of failed CAPTCHA attempts during login | | failed_login_captcha_total | Gauge | 11.0 | Counter of failed CAPTCHA attempts during login |
| successful_login_captcha_total | Gauge | 11.0 | Counter of successful CAPTCHA attempts during login | | successful_login_captcha_total | Gauge | 11.0 | Counter of successful CAPTCHA attempts during login |
......
...@@ -145,7 +145,10 @@ are listed in the descriptions of the relevant settings. ...@@ -145,7 +145,10 @@ are listed in the descriptions of the relevant settings.
| `authorized_keys_enabled` | boolean | no | By default, we write to the `authorized_keys` file to support Git over SSH without additional configuration. GitLab can be optimized to authenticate SSH keys via the database file. Only disable this if you have configured your OpenSSH server to use the AuthorizedKeysCommand. | | `authorized_keys_enabled` | boolean | no | By default, we write to the `authorized_keys` file to support Git over SSH without additional configuration. GitLab can be optimized to authenticate SSH keys via the database file. Only disable this if you have configured your OpenSSH server to use the AuthorizedKeysCommand. |
| `auto_devops_domain` | string | no | Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages. | | `auto_devops_domain` | string | no | Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages. |
| `auto_devops_enabled` | boolean | no | Enable Auto DevOps for projects by default. It will automatically build, test, and deploy applications based on a predefined CI/CD configuration. | | `auto_devops_enabled` | boolean | no | Enable Auto DevOps for projects by default. It will automatically build, test, and deploy applications based on a predefined CI/CD configuration. |
<<<<<<< HEAD
| `check_namespace_plan` | boolean | no | **(Premium)** Enabling this will make only licensed EE features available to projects if the project namespace's plan includes the feature or if the project is public. | | `check_namespace_plan` | boolean | no | **(Premium)** Enabling this will make only licensed EE features available to projects if the project namespace's plan includes the feature or if the project is public. |
=======
>>>>>>> upstream/master
| `clientside_sentry_dsn` | string | required by: `clientside_sentry_enabled` | Clientside Sentry Data Source Name. | | `clientside_sentry_dsn` | string | required by: `clientside_sentry_enabled` | Clientside Sentry Data Source Name. |
| `clientside_sentry_enabled` | boolean | no | (**If enabled, requires:** `clientside_sentry_dsn`) Enable Sentry error reporting for the client side. | | `clientside_sentry_enabled` | boolean | no | (**If enabled, requires:** `clientside_sentry_dsn`) Enable Sentry error reporting for the client side. |
| `container_registry_token_expire_delay` | integer | no | Container Registry token duration in minutes. | | `container_registry_token_expire_delay` | integer | no | Container Registry token duration in minutes. |
......
...@@ -156,7 +156,7 @@ the feature you contribute through all of these steps. ...@@ -156,7 +156,7 @@ the feature you contribute through all of these steps.
1. Performance/scalability implications have been considered, addressed, and tested 1. Performance/scalability implications have been considered, addressed, and tested
1. [Documented][doc-guidelines] in the `/doc` directory 1. [Documented][doc-guidelines] in the `/doc` directory
1. [Changelog entry added][changelog], if necessary 1. [Changelog entry added][changelog], if necessary
1. Reviewed and any concerns are addressed 1. Reviewed by UX/FE/BE and any concerns are addressed
1. Merged by a project maintainer 1. Merged by a project maintainer
1. Added to the release blog article, if relevant 1. Added to the release blog article, if relevant
1. Added to [the website](https://gitlab.com/gitlab-com/www-gitlab-com/), if relevant 1. Added to [the website](https://gitlab.com/gitlab-com/www-gitlab-com/), if relevant
......
# Style guides and linting # Style guides and linting
See the relevant style guides for our guidelines and for information on linting: See the relevant style guides for our guidelines and for information on linting:
## JavaScript ## JavaScript
We defer to [Airbnb][airbnb-js-style-guide] on most style-related We defer to [Airbnb][airbnb-js-style-guide] on most style-related
conventions and enforce them with eslint. conventions and enforce them with eslint.
See [our current .eslintrc][eslintrc] for specific rules and patterns. See [our current .eslintrc](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/.eslintrc.yml) for specific rules and patterns.
### Common ### Common
...@@ -21,10 +23,10 @@ refactor an existing one, you should abide by the eslint rules. ...@@ -21,10 +23,10 @@ refactor an existing one, you should abide by the eslint rules.
```javascript ```javascript
// bad // bad
/* eslint-disable */ /* eslint-disable */
// better // better
/* eslint-disable some-rule, some-other-rule */ /* eslint-disable some-rule, some-other-rule */
// best // best
// nothing :) // nothing :)
``` ```
...@@ -34,14 +36,14 @@ refactor an existing one, you should abide by the eslint rules. ...@@ -34,14 +36,14 @@ refactor an existing one, you should abide by the eslint rules.
```javascript ```javascript
// bad // bad
/* eslint-disable no-new */ /* eslint-disable no-new */
import Foo from 'foo'; import Foo from 'foo';
new Foo(); new Foo();
// better // better
import Foo from 'foo'; import Foo from 'foo';
// eslint-disable-next-line no-new // eslint-disable-next-line no-new
new Foo(); new Foo();
``` ```
...@@ -58,11 +60,11 @@ followed by any global declarations, then a blank newline prior to any imports o ...@@ -58,11 +60,11 @@ followed by any global declarations, then a blank newline prior to any imports o
/* global Foo */ /* global Foo */
/* eslint-disable no-new */ /* eslint-disable no-new */
import Bar from './bar'; import Bar from './bar';
// good // good
/* eslint-disable no-new */ /* eslint-disable no-new */
/* global Foo */ /* global Foo */
import Bar from './bar'; import Bar from './bar';
``` ```
...@@ -73,7 +75,7 @@ followed by any global declarations, then a blank newline prior to any imports o ...@@ -73,7 +75,7 @@ followed by any global declarations, then a blank newline prior to any imports o
```javascript ```javascript
// bad // bad
/* globals Flash, Cookies, jQuery */ /* globals Flash, Cookies, jQuery */
// good // good
/* global Flash */ /* global Flash */
/* global Cookies */ /* global Cookies */
...@@ -85,7 +87,7 @@ followed by any global declarations, then a blank newline prior to any imports o ...@@ -85,7 +87,7 @@ followed by any global declarations, then a blank newline prior to any imports o
```javascript ```javascript
// bad // bad
fn(p1, p2, p3, p4) {} fn(p1, p2, p3, p4) {}
// good // good
fn(options) {} fn(options) {}
``` ```
...@@ -191,28 +193,28 @@ Do not use them anymore and feel free to remove them when refactoring legacy cod ...@@ -191,28 +193,28 @@ Do not use them anymore and feel free to remove them when refactoring legacy cod
```javascript ```javascript
// bad // bad
const values = {foo: 1}; const values = {foo: 1};
function impureFunction(items) { function impureFunction(items) {
const bar = 1; const bar = 1;
items.foo = items.a * bar + 2; items.foo = items.a * bar + 2;
return items.a; return items.a;
} }
const c = impureFunction(values); const c = impureFunction(values);
// good // good
var values = {foo: 1}; var values = {foo: 1};
function pureFunction (foo) { function pureFunction (foo) {
var bar = 1; var bar = 1;
foo = foo * bar + 2; foo = foo * bar + 2;
return foo; return foo;
} }
var c = pureFunction(values.foo); var c = pureFunction(values.foo);
``` ```
...@@ -231,10 +233,10 @@ Do not use them anymore and feel free to remove them when refactoring legacy cod ...@@ -231,10 +233,10 @@ Do not use them anymore and feel free to remove them when refactoring legacy cod
document.addEventListener('click', this.handleCallback) document.addEventListener('click', this.handleCallback)
}, },
handleCallback() { handleCallback() {
} }
} }
// Good // Good
export class Foo { export class Foo {
constructor() { constructor() {
...@@ -253,12 +255,12 @@ Do not use them anymore and feel free to remove them when refactoring legacy cod ...@@ -253,12 +255,12 @@ Do not use them anymore and feel free to remove them when refactoring legacy cod
```javascript ```javascript
const users = [ { name: 'Foo' }, { name: 'Bar' } ]; const users = [ { name: 'Foo' }, { name: 'Bar' } ];
// bad // bad
users.forEach((user, index) => { users.forEach((user, index) => {
user.id = index; user.id = index;
}); });
// good // good
const usersWithId = users.map((user, index) => { const usersWithId = users.map((user, index) => {
return Object.assign({}, user, { id: index }); return Object.assign({}, user, { id: index });
...@@ -272,10 +274,10 @@ Do not use them anymore and feel free to remove them when refactoring legacy cod ...@@ -272,10 +274,10 @@ Do not use them anymore and feel free to remove them when refactoring legacy cod
```javascript ```javascript
// bad // bad
+'10' // 10 +'10' // 10
// good // good
Number('10') // 10 Number('10') // 10
// better // better
parseInt('10', 10); parseInt('10', 10);
``` ```
...@@ -289,7 +291,7 @@ Do not use them anymore and feel free to remove them when refactoring legacy cod ...@@ -289,7 +291,7 @@ Do not use them anymore and feel free to remove them when refactoring legacy cod
<button class="add-user"> <button class="add-user">
Add User Add User
</button> </button>
// good // good
<button class="js-add-user"> <button class="js-add-user">
Add User Add User
...@@ -299,10 +301,12 @@ Do not use them anymore and feel free to remove them when refactoring legacy cod ...@@ -299,10 +301,12 @@ Do not use them anymore and feel free to remove them when refactoring legacy cod
### Vue.js ### Vue.js
#### `eslint-vue-plugin` #### `eslint-vue-plugin`
We default to [eslint-vue-plugin][eslint-plugin-vue], with the `plugin:vue/recommended`. We default to [eslint-vue-plugin][eslint-plugin-vue], with the `plugin:vue/recommended`.
Please check this [rules][eslint-plugin-vue-rules] for more documentation. Please check this [rules][eslint-plugin-vue-rules] for more documentation.
#### Basic Rules #### Basic Rules
1. The service has it's own file 1. The service has it's own file
1. The store has it's own file 1. The store has it's own file
1. Use a function in the bundle file to instantiate the Vue component: 1. Use a function in the bundle file to instantiate the Vue component:
...@@ -314,7 +318,7 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation. ...@@ -314,7 +318,7 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation.
new Component({}) new Component({})
} }
} }
// good // good
document.addEventListener('DOMContentLoaded', () => new Vue({ document.addEventListener('DOMContentLoaded', () => new Vue({
el: '#element', el: '#element',
...@@ -336,7 +340,7 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation. ...@@ -336,7 +340,7 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation.
} }
} }
} }
// good // good
class Store { class Store {
constructor() { constructor() {
...@@ -354,14 +358,14 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation. ...@@ -354,14 +358,14 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation.
```javascript ```javascript
// bad // bad
import cardBoard from 'cardBoard.vue' import cardBoard from 'cardBoard.vue'
components: { components: {
cardBoard, cardBoard,
}; };
// good // good
import CardBoard from 'cardBoard.vue' import CardBoard from 'cardBoard.vue'
components: { components: {
CardBoard, CardBoard,
}; };
...@@ -373,13 +377,13 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation. ...@@ -373,13 +377,13 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation.
```javascript ```javascript
// bad // bad
<component class="btn"> <component class="btn">
// good // good
<component css-class="btn"> <component css-class="btn">
// bad // bad
<component myProp="prop" /> <component myProp="prop" />
// good // good
<component my-prop="prop" /> <component my-prop="prop" />
``` ```
...@@ -387,6 +391,7 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation. ...@@ -387,6 +391,7 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation.
[#34371]: https://gitlab.com/gitlab-org/gitlab-ce/issues/34371 [#34371]: https://gitlab.com/gitlab-org/gitlab-ce/issues/34371
#### Alignment #### Alignment
1. Follow these alignment styles for the template method: 1. Follow these alignment styles for the template method:
1. With more than one attribute, all attributes should be on a new line: 1. With more than one attribute, all attributes should be on a new line:
...@@ -395,31 +400,31 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation. ...@@ -395,31 +400,31 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation.
// bad // bad
<component v-if="bar" <component v-if="bar"
param="baz" /> param="baz" />
<button class="btn">Click me</button> <button class="btn">Click me</button>
// good // good
<component <component
v-if="bar" v-if="bar"
param="baz" param="baz"
/> />
<button class="btn"> <button class="btn">
Click me Click me
</button> </button>
``` ```
1. The tag can be inline if there is only one attribute: 1. The tag can be inline if there is only one attribute:
```javascript ```javascript
// good // good
<component bar="bar" /> <component bar="bar" />
// good // good
<component <component
bar="bar" bar="bar"
/> />
// bad // bad
<component <component
bar="bar" /> bar="bar" />
...@@ -434,7 +439,7 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation. ...@@ -434,7 +439,7 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation.
template: ` template: `
<button :class='style'>Button</button> <button :class='style'>Button</button>
` `
// good // good
template: ` template: `
<button :class="style">Button</button> <button :class="style">Button</button>
...@@ -447,7 +452,7 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation. ...@@ -447,7 +452,7 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation.
```javascript ```javascript
// bad // bad
props: ['foo'] props: ['foo']
// good // good
props: { props: {
foo: { foo: {
...@@ -467,7 +472,7 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation. ...@@ -467,7 +472,7 @@ Please check this [rules][eslint-plugin-vue-rules] for more documentation.
type: String, type: String,
} }
} }
// good // good
props: { props: {
foo: { foo: {
...@@ -490,7 +495,7 @@ On those a default key should not be provided. ...@@ -490,7 +495,7 @@ On those a default key should not be provided.
required: false, required: false,
} }
} }
// good // good
props: { props: {
foo: { foo: {
...@@ -499,7 +504,7 @@ On those a default key should not be provided. ...@@ -499,7 +504,7 @@ On those a default key should not be provided.
default: 'bar' default: 'bar'
} }
} }
// good // good
props: { props: {
foo: { foo: {
...@@ -534,7 +539,7 @@ On those a default key should not be provided. ...@@ -534,7 +539,7 @@ On those a default key should not be provided.
```javascript ```javascript
// bad // bad
<component v-on:click="eventHandler"/> <component v-on:click="eventHandler"/>
// good // good
<component @click="eventHandler"/> <component @click="eventHandler"/>
``` ```
...@@ -544,7 +549,7 @@ On those a default key should not be provided. ...@@ -544,7 +549,7 @@ On those a default key should not be provided.
```javascript ```javascript
// bad // bad
<component v-bind:class="btn"/> <component v-bind:class="btn"/>
// good // good
<component :class="btsn"/> <component :class="btsn"/>
``` ```
...@@ -556,7 +561,7 @@ On those a default key should not be provided. ...@@ -556,7 +561,7 @@ On those a default key should not be provided.
```javascript ```javascript
// bad // bad
<component></component> <component></component>
// good // good
<component /> <component />
``` ```
...@@ -650,7 +655,7 @@ Useful links: ...@@ -650,7 +655,7 @@ Useful links:
title="Some tooltip text"> title="Some tooltip text">
Text Text
</span> </span>
// good // good
<span <span
v-tooltip v-tooltip
...@@ -666,10 +671,10 @@ Useful links: ...@@ -666,10 +671,10 @@ Useful links:
```javascript ```javascript
// bad // bad
<span data-original-title="tooltip text">Foo</span> <span data-original-title="tooltip text">Foo</span>
// good // good
<span title="tooltip text">Foo</span> <span title="tooltip text">Foo</span>
$('span').tooltip('_fixTitle'); $('span').tooltip('_fixTitle');
``` ```
......
...@@ -142,12 +142,15 @@ msgstr "" ...@@ -142,12 +142,15 @@ msgstr ""
msgid "%{name}'s avatar" msgid "%{name}'s avatar"
msgstr "" msgstr ""
<<<<<<< HEAD
msgid "%{nip_domain} can be used as an alternative to a custom domain." msgid "%{nip_domain} can be used as an alternative to a custom domain."
msgstr "" msgstr ""
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead" msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr "" msgstr ""
=======
>>>>>>> upstream/master
msgid "%{openOrClose} %{noteable}" msgid "%{openOrClose} %{noteable}"
msgstr "" msgstr ""
...@@ -349,9 +352,12 @@ msgstr "" ...@@ -349,9 +352,12 @@ msgstr ""
msgid "Access expiration date" msgid "Access expiration date"
msgstr "" msgstr ""
<<<<<<< HEAD
msgid "Access to '%{classification_label}' not allowed" msgid "Access to '%{classification_label}' not allowed"
msgstr "" msgstr ""
=======
>>>>>>> upstream/master
msgid "Account" msgid "Account"
msgstr "" msgstr ""
...@@ -1548,9 +1554,12 @@ msgstr "" ...@@ -1548,9 +1554,12 @@ msgstr ""
msgid "CiVariable|Validation failed" msgid "CiVariable|Validation failed"
msgstr "" msgstr ""
<<<<<<< HEAD
msgid "ClassificationLabelUnavailable|is unavailable: %{reason}" msgid "ClassificationLabelUnavailable|is unavailable: %{reason}"
msgstr "" msgstr ""
=======
>>>>>>> upstream/master
msgid "Clear search" msgid "Clear search"
msgstr "" msgstr ""
...@@ -2129,9 +2138,12 @@ msgid "Configure push mirrors." ...@@ -2129,9 +2138,12 @@ msgid "Configure push mirrors."
msgstr "" msgstr ""
msgid "Configure storage path settings." msgid "Configure storage path settings."
<<<<<<< HEAD
msgstr "" msgstr ""
msgid "Configure the %{link} integration." msgid "Configure the %{link} integration."
=======
>>>>>>> upstream/master
msgstr "" msgstr ""
msgid "Configure the way a user creates a new account." msgid "Configure the way a user creates a new account."
...@@ -4796,9 +4808,12 @@ msgstr "" ...@@ -4796,9 +4808,12 @@ msgstr ""
msgid "Maven package" msgid "Maven package"
msgstr "" msgstr ""
<<<<<<< HEAD
msgid "Max access level" msgid "Max access level"
msgstr "" msgstr ""
=======
>>>>>>> upstream/master
msgid "Maximum job timeout" msgid "Maximum job timeout"
msgstr "" msgstr ""
...@@ -5416,9 +5431,12 @@ msgstr "" ...@@ -5416,9 +5431,12 @@ msgstr ""
msgid "November" msgid "November"
msgstr "" msgstr ""
<<<<<<< HEAD
msgid "OK" msgid "OK"
msgstr "" msgstr ""
=======
>>>>>>> upstream/master
msgid "Oct" msgid "Oct"
msgstr "" msgstr ""
...@@ -6857,6 +6875,7 @@ msgid "SearchAutocomplete|in this project" ...@@ -6857,6 +6875,7 @@ msgid "SearchAutocomplete|in this project"
msgstr "" msgstr ""
msgid "Secret" msgid "Secret"
<<<<<<< HEAD
msgstr "" msgstr ""
msgid "Security" msgid "Security"
...@@ -6872,6 +6891,8 @@ msgid "SecurityDashboard|Monitor vulnerabilities in your code" ...@@ -6872,6 +6891,8 @@ msgid "SecurityDashboard|Monitor vulnerabilities in your code"
msgstr "" msgstr ""
msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered" msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered"
=======
>>>>>>> upstream/master
msgstr "" msgstr ""
msgid "Select" msgid "Select"
...@@ -7583,9 +7604,12 @@ msgstr "" ...@@ -7583,9 +7604,12 @@ msgstr ""
msgid "The maximum file size allowed is 200KB." msgid "The maximum file size allowed is 200KB."
msgstr "" msgstr ""
<<<<<<< HEAD
msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest."
msgstr "" msgstr ""
=======
>>>>>>> upstream/master
msgid "The path to CI config file. Defaults to <code>.gitlab-ci.yml</code>" msgid "The path to CI config file. Defaults to <code>.gitlab-ci.yml</code>"
msgstr "" msgstr ""
...@@ -7679,12 +7703,15 @@ msgstr "" ...@@ -7679,12 +7703,15 @@ msgstr ""
msgid "There are no unstaged changes" msgid "There are no unstaged changes"
msgstr "" msgstr ""
<<<<<<< HEAD
msgid "There was an error adding a todo." msgid "There was an error adding a todo."
msgstr "" msgstr ""
msgid "There was an error deleting the todo." msgid "There was an error deleting the todo."
msgstr "" msgstr ""
=======
>>>>>>> upstream/master
msgid "There was an error loading users activity calendar." msgid "There was an error loading users activity calendar."
msgstr "" msgstr ""
......
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