summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-11-15 09:06:30 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-11-15 09:06:30 +0000
commite24153b0cb080b1b25076f8fd358b4273848f2e2 (patch)
treeb3fc6d552241905fa927db14f8920c4809e74a6f
parent3fe34368770022c88fd89c8df58b39bf0789e646 (diff)
downloadgitlab-ce-e24153b0cb080b1b25076f8fd358b4273848f2e2.tar.gz
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--app/assets/javascripts/lib/utils/notify.js8
-rw-r--r--app/assets/javascripts/network/branch_graph.js112
-rw-r--r--app/assets/javascripts/new_branch_form.js28
-rw-r--r--changelogs/unreleased/34149-hide-delete-selected-in-designs-when-viewing-an-old-version.yml5
-rw-r--r--changelogs/unreleased/34607-Remove-IIFEs-from-branch_graph-js.yml5
-rw-r--r--changelogs/unreleased/remove_var_from_new_branch_Form_js.yml5
-rw-r--r--doc/ci/variables/predefined_variables.md2
-rw-r--r--doc/user/packages/npm_registry/index.md15
-rw-r--r--doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_3.pngbin21908 -> 0 bytes
-rw-r--r--doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_5.pngbin0 -> 21293 bytes
-rw-r--r--doc/user/project/merge_requests/merge_request_approvals.md4
-rw-r--r--locale/gitlab.pot3
12 files changed, 101 insertions, 86 deletions
diff --git a/app/assets/javascripts/lib/utils/notify.js b/app/assets/javascripts/lib/utils/notify.js
index cd509a13193..8db08099b3f 100644
--- a/app/assets/javascripts/lib/utils/notify.js
+++ b/app/assets/javascripts/lib/utils/notify.js
@@ -1,8 +1,7 @@
-/* eslint-disable no-var, consistent-return, no-return-assign */
+/* eslint-disable consistent-return, no-return-assign */
function notificationGranted(message, opts, onclick) {
- var notification;
- notification = new Notification(message, opts);
+ const notification = new Notification(message, opts);
setTimeout(
() =>
// Hide the notification after X amount of seconds
@@ -21,8 +20,7 @@ function notifyPermissions() {
}
function notifyMe(message, body, icon, onclick) {
- var opts;
- opts = {
+ const opts = {
body,
icon,
};
diff --git a/app/assets/javascripts/network/branch_graph.js b/app/assets/javascripts/network/branch_graph.js
index a0ba2193d90..8173e23769a 100644
--- a/app/assets/javascripts/network/branch_graph.js
+++ b/app/assets/javascripts/network/branch_graph.js
@@ -1,12 +1,12 @@
-/* eslint-disable func-names, no-var, one-var, no-loop-func, consistent-return, camelcase */
+/* eslint-disable func-names, no-var, one-var, consistent-return, camelcase */
import $ from 'jquery';
import { __ } from '../locale';
import axios from '../lib/utils/axios_utils';
import Raphael from './raphael';
-export default (function() {
- function BranchGraph(element1, options1) {
+export default class BranchGraph {
+ constructor(element1, options1) {
this.element = element1;
this.options = options1;
this.scrollTop = this.scrollTop.bind(this);
@@ -28,7 +28,7 @@ export default (function() {
this.load();
}
- BranchGraph.prototype.load = function() {
+ load() {
axios
.get(this.options.url)
.then(({ data }) => {
@@ -37,9 +37,9 @@ export default (function() {
this.buildGraph();
})
.catch(() => __('Error fetching network graph.'));
- };
+ }
- BranchGraph.prototype.prepareData = function(days, commits) {
+ prepareData(days, commits) {
var c, ch, cw, j, len, ref;
this.days = days;
this.commits = commits;
@@ -61,34 +61,30 @@ export default (function() {
this.markCommit(c);
}
return this.collectColors();
- };
+ }
- BranchGraph.prototype.collectParents = function() {
+ collectParents() {
var c, j, len, p, ref, results;
+ var l, len1, ref1, results1;
ref = this.commits;
results = [];
for (j = 0, len = ref.length; j < len; j += 1) {
c = ref[j];
this.mtime = Math.max(this.mtime, c.time);
this.mspace = Math.max(this.mspace, c.space);
- results.push(
- function() {
- var l, len1, ref1, results1;
- ref1 = c.parents;
- results1 = [];
- for (l = 0, len1 = ref1.length; l < len1; l += 1) {
- p = ref1[l];
- this.parents[p[0]] = true;
- results1.push((this.mspace = Math.max(this.mspace, p[1])));
- }
- return results1;
- }.call(this),
- );
+ ref1 = c.parents;
+ results1 = [];
+ for (l = 0, len1 = ref1.length; l < len1; l += 1) {
+ p = ref1[l];
+ this.parents[p[0]] = true;
+ results1.push((this.mspace = Math.max(this.mspace, p[1])));
+ }
+ results.push(results1);
}
return results;
- };
+ }
- BranchGraph.prototype.collectColors = function() {
+ collectColors() {
var k, results;
k = 0;
results = [];
@@ -100,9 +96,9 @@ export default (function() {
results.push((k += 1));
}
return results;
- };
+ }
- BranchGraph.prototype.buildGraph = function() {
+ buildGraph() {
var cuday, cumonth, day, len, mm, ref;
const { r } = this;
cuday = 0;
@@ -138,9 +134,9 @@ export default (function() {
}
this.renderPartialGraph();
return this.bindEvents();
- };
+ }
- BranchGraph.prototype.renderPartialGraph = function() {
+ renderPartialGraph() {
var commit, end, i, isGraphEdge, start, x, y;
start = Math.floor((this.element.scrollTop() - this.offsetY) / this.unitTime) - 10;
if (start < 0) {
@@ -170,49 +166,43 @@ export default (function() {
}
return this.top.toFront();
}
- };
+ }
- BranchGraph.prototype.bindEvents = function() {
+ bindEvents() {
const { element } = this;
- return $(element).scroll(
- (function(_this) {
- return function() {
- return _this.renderPartialGraph();
- };
- })(this),
- );
- };
+ return $(element).scroll(() => this.renderPartialGraph());
+ }
- BranchGraph.prototype.scrollDown = function() {
+ scrollDown() {
this.element.scrollTop(this.element.scrollTop() + 50);
return this.renderPartialGraph();
- };
+ }
- BranchGraph.prototype.scrollUp = function() {
+ scrollUp() {
this.element.scrollTop(this.element.scrollTop() - 50);
return this.renderPartialGraph();
- };
+ }
- BranchGraph.prototype.scrollLeft = function() {
+ scrollLeft() {
this.element.scrollLeft(this.element.scrollLeft() - 50);
return this.renderPartialGraph();
- };
+ }
- BranchGraph.prototype.scrollRight = function() {
+ scrollRight() {
this.element.scrollLeft(this.element.scrollLeft() + 50);
return this.renderPartialGraph();
- };
+ }
- BranchGraph.prototype.scrollBottom = function() {
+ scrollBottom() {
return this.element.scrollTop(this.element.find('svg').height());
- };
+ }
- BranchGraph.prototype.scrollTop = function() {
+ scrollTop() {
return this.element.scrollTop(0);
- };
+ }
- BranchGraph.prototype.appendLabel = function(x, y, commit) {
+ appendLabel(x, y, commit) {
var label, rect, shortrefs, text, textbox;
if (!commit.refs) {
@@ -248,9 +238,9 @@ export default (function() {
label.transform(['t', -rect.getBBox().width - 15, 0]);
// Set text to front
return text.toFront();
- };
+ }
- BranchGraph.prototype.appendAnchor = function(x, y, commit) {
+ appendAnchor(x, y, commit) {
const { r, top, options } = this;
const anchor = r
.circle(x, y, 10)
@@ -270,9 +260,9 @@ export default (function() {
},
);
return top.push(anchor);
- };
+ }
- BranchGraph.prototype.drawDot = function(x, y, commit) {
+ drawDot(x, y, commit) {
const { r } = this;
r.circle(x, y, 3).attr({
fill: this.colors[commit.space],
@@ -293,9 +283,9 @@ export default (function() {
'text-anchor': 'start',
font: '14px Monaco, monospace',
});
- };
+ }
- BranchGraph.prototype.drawLines = function(x, y, commit) {
+ drawLines(x, y, commit) {
var arrow, color, i, len, offset, parent, parentCommit, parentX1, parentX2, parentY, route;
const { r } = this;
const ref = commit.parents;
@@ -344,9 +334,9 @@ export default (function() {
);
}
return results;
- };
+ }
- BranchGraph.prototype.markCommit = function(commit) {
+ markCommit(commit) {
if (commit.id === this.options.commit_id) {
const { r } = this;
const x = this.offsetX + this.unitSpace * (this.mspace - commit.space);
@@ -359,7 +349,5 @@ export default (function() {
// Displayed in the center
return this.element.scrollTop(y - this.graphHeight / 2);
}
- };
-
- return BranchGraph;
-})();
+ }
+}
diff --git a/app/assets/javascripts/new_branch_form.js b/app/assets/javascripts/new_branch_form.js
index 9f9db21d65b..52361e963bc 100644
--- a/app/assets/javascripts/new_branch_form.js
+++ b/app/assets/javascripts/new_branch_form.js
@@ -1,4 +1,4 @@
-/* eslint-disable func-names, no-var, one-var, consistent-return, no-return-assign, no-shadow, no-else-return, @gitlab/i18n/no-non-i18n-strings */
+/* eslint-disable func-names, consistent-return, no-return-assign, no-else-return, @gitlab/i18n/no-non-i18n-strings */
import $ from 'jquery';
import RefSelectDropdown from './ref_select_dropdown';
@@ -26,23 +26,22 @@ export default class NewBranchForm {
}
setupRestrictions() {
- var endsWith, invalid, single, startsWith;
- startsWith = {
+ const startsWith = {
pattern: /^(\/|\.)/g,
prefix: "can't start with",
conjunction: 'or',
};
- endsWith = {
+ const endsWith = {
pattern: /(\/|\.|\.lock)$/g,
prefix: "can't end in",
conjunction: 'or',
};
- invalid = {
+ const invalid = {
pattern: /(\s|~|\^|:|\?|\*|\[|\\|\.\.|@\{|\/{2,}){1}/g,
prefix: "can't contain",
conjunction: ', ',
};
- single = {
+ const single = {
pattern: /^@+$/g,
prefix: "can't be",
conjunction: 'or',
@@ -51,19 +50,17 @@ export default class NewBranchForm {
}
validate() {
- var errorMessage, errors, formatter, unique, validator;
const { indexOf } = [];
this.branchNameError.empty();
- unique = function(values, value) {
+ const unique = function(values, value) {
if (indexOf.call(values, value) === -1) {
values.push(value);
}
return values;
};
- formatter = function(values, restriction) {
- var formatted;
- formatted = values.map(value => {
+ const formatter = function(values, restriction) {
+ const formatted = values.map(value => {
switch (false) {
case !/\s/.test(value):
return 'spaces';
@@ -75,10 +72,9 @@ export default class NewBranchForm {
});
return `${restriction.prefix} ${formatted.join(restriction.conjunction)}`;
};
- validator = (function(_this) {
+ const validator = (function(_this) {
return function(errors, restriction) {
- var matched;
- matched = _this.name.val().match(restriction.pattern);
+ const matched = _this.name.val().match(restriction.pattern);
if (matched) {
return errors.concat(formatter(matched.reduce(unique, []), restriction));
} else {
@@ -86,9 +82,9 @@ export default class NewBranchForm {
}
};
})(this);
- errors = this.restrictions.reduce(validator, []);
+ const errors = this.restrictions.reduce(validator, []);
if (errors.length > 0) {
- errorMessage = $('<span/>').text(errors.join(', '));
+ const errorMessage = $('<span/>').text(errors.join(', '));
return this.branchNameError.append(errorMessage);
}
}
diff --git a/changelogs/unreleased/34149-hide-delete-selected-in-designs-when-viewing-an-old-version.yml b/changelogs/unreleased/34149-hide-delete-selected-in-designs-when-viewing-an-old-version.yml
new file mode 100644
index 00000000000..73e24b856fc
--- /dev/null
+++ b/changelogs/unreleased/34149-hide-delete-selected-in-designs-when-viewing-an-old-version.yml
@@ -0,0 +1,5 @@
+---
+title: Resolve Hide Delete selected in designs when viewing an old version
+merge_request: 19889
+author:
+type: fixed
diff --git a/changelogs/unreleased/34607-Remove-IIFEs-from-branch_graph-js.yml b/changelogs/unreleased/34607-Remove-IIFEs-from-branch_graph-js.yml
new file mode 100644
index 00000000000..6c902549c4c
--- /dev/null
+++ b/changelogs/unreleased/34607-Remove-IIFEs-from-branch_graph-js.yml
@@ -0,0 +1,5 @@
+---
+title: Remove IIFEs from branch_graph.js
+merge_request: 20008
+author: minghuan lei
+type: other
diff --git a/changelogs/unreleased/remove_var_from_new_branch_Form_js.yml b/changelogs/unreleased/remove_var_from_new_branch_Form_js.yml
new file mode 100644
index 00000000000..2f4bf8e44b5
--- /dev/null
+++ b/changelogs/unreleased/remove_var_from_new_branch_Form_js.yml
@@ -0,0 +1,5 @@
+---
+title: Remove var from new_branch_form.js
+merge_request: 20099
+author: Lee Tickett
+type: other
diff --git a/doc/ci/variables/predefined_variables.md b/doc/ci/variables/predefined_variables.md
index 3ad428a6667..8b4208a8703 100644
--- a/doc/ci/variables/predefined_variables.md
+++ b/doc/ci/variables/predefined_variables.md
@@ -97,7 +97,7 @@ future GitLab releases.**
| `CI_PROJECT_TITLE` | 12.4 | all | The human-readable project name as displayed in the GitLab web interface. |
| `CI_PROJECT_URL` | 8.10 | 0.5 | The HTTP(S) address to access project |
| `CI_PROJECT_VISIBILITY` | 10.3 | all | The project visibility (internal, private, public) |
-| `CI_REGISTRY` | 8.10 | 0.5 | If the Container Registry is enabled it returns the address of GitLab's Container Registry |
+| `CI_REGISTRY` | 8.10 | 0.5 | If the Container Registry is enabled it returns the address of GitLab's Container Registry. This variable will include a `:port` value if one has been specified in the registry configuration. |
| `CI_REGISTRY_IMAGE` | 8.10 | 0.5 | If the Container Registry is enabled for the project it returns the address of the registry tied to the specific project |
| `CI_REGISTRY_PASSWORD` | 9.0 | all | The password to use to push containers to the GitLab Container Registry |
| `CI_REGISTRY_USER` | 9.0 | all | The username to use to push containers to the GitLab Container Registry |
diff --git a/doc/user/packages/npm_registry/index.md b/doc/user/packages/npm_registry/index.md
index 357b7a30591..d8b59ae63d0 100644
--- a/doc/user/packages/npm_registry/index.md
+++ b/doc/user/packages/npm_registry/index.md
@@ -108,6 +108,21 @@ Then, you could run `npm publish` either locally or via GitLab CI/CD:
- **GitLab CI/CD:** Set an `NPM_TOKEN` [variable](../../../ci/variables/README.md)
under your project's **Settings > CI/CD > Variables**.
+
+### Authenticating with a CI job token
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/9104) in GitLab Premium 12.5.
+
+If you’re using NPM with GitLab CI/CD, a CI job token can be used instead of a personal access token.
+The token will inherit the permissions of the user that generates the pipeline.
+
+Add a corresponding section to your `.npmrc` file:
+
+```ini
+@foo:registry=https://gitlab.com/api/v4/packages/npm/
+//gitlab.com/api/v4/packages/npm/:_authToken=${env.CI_JOB_TOKEN}
+//gitlab.com/api/v4/projects/{env.CI_PROJECT_ID>/packages/npm/:_authToken=${env.CI_JOB_TOKEN}
+```
## Uploading packages
diff --git a/doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_3.png b/doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_3.png
deleted file mode 100644
index bbb131e86e9..00000000000
--- a/doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_3.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_5.png b/doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_5.png
new file mode 100644
index 00000000000..24c8c8f8c11
--- /dev/null
+++ b/doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_5.png
Binary files differ
diff --git a/doc/user/project/merge_requests/merge_request_approvals.md b/doc/user/project/merge_requests/merge_request_approvals.md
index 15b846f5f88..76c348eb93e 100644
--- a/doc/user/project/merge_requests/merge_request_approvals.md
+++ b/doc/user/project/merge_requests/merge_request_approvals.md
@@ -75,9 +75,9 @@ request approval rules:
1. Click **Add approvers** to create a new approval rule.
1. Just like in [GitLab Starter](#editing-approvals), select the approval members and approvals required.
1. Give the approval rule a name that describes the set of approvers selected.
-1. Click **Add approvers** to submit the new rule.
+1. Click **Add approval rule** to submit the new rule.
- ![Approvals premium project edit](img/approvals_premium_project_edit_v12_3.png)
+ ![Approvals premium project edit](img/approvals_premium_project_edit_v12_5.png)
## Multiple approval rules **(PREMIUM)**
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 1972ba4aa7e..d1d10376352 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -17260,6 +17260,9 @@ msgstr ""
msgid "There was a problem communicating with your device."
msgstr ""
+msgid "There was a problem saving your custom stage, please try again"
+msgstr ""
+
msgid "There was a problem sending the confirmation email"
msgstr ""