From 27d2e12e69c5a7e0226b4b354ff880c939719d49 Mon Sep 17 00:00:00 2001 From: Chris Wright Date: Fri, 17 Jun 2016 09:59:12 +0000 Subject: Add some docs for Docker Registry configuration --- doc/administration/container_registry.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/doc/administration/container_registry.md b/doc/administration/container_registry.md index caf9a5bef2c..d21708d6f55 100644 --- a/doc/administration/container_registry.md +++ b/doc/administration/container_registry.md @@ -84,6 +84,17 @@ GitLab does not ship with a Registry init file. Hence, [restarting GitLab][resta will not restart the Registry should you modify its settings. Read the upstream documentation on how to achieve that. +The Docker Registry configuration will need `container_service` as the service and `https://gitlab.example.com/jwt/auth` as the realm: + +``` +auth: + token: + realm: https://gitlab.example.com/jwt/auth + service: container_registry + issuer: gitlab-issuer + rootcertbundle: /root/certs/certbundle +``` + ## Container Registry domain configuration There are two ways you can configure the Registry's external domain. -- cgit v1.2.1 From 21fd52bc5fed122a867e69f8b36639249ef2d9b0 Mon Sep 17 00:00:00 2001 From: Chris Wright Date: Fri, 17 Jun 2016 10:05:58 +0000 Subject: Oops ... Typo --- doc/administration/container_registry.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/administration/container_registry.md b/doc/administration/container_registry.md index d21708d6f55..39e43acbe2b 100644 --- a/doc/administration/container_registry.md +++ b/doc/administration/container_registry.md @@ -84,7 +84,7 @@ GitLab does not ship with a Registry init file. Hence, [restarting GitLab][resta will not restart the Registry should you modify its settings. Read the upstream documentation on how to achieve that. -The Docker Registry configuration will need `container_service` as the service and `https://gitlab.example.com/jwt/auth` as the realm: +The Docker Registry configuration will need `container_registry` as the service and `https://gitlab.example.com/jwt/auth` as the realm: ``` auth: -- cgit v1.2.1 From ec444e09f57e4b0e552ba77f1e678993d5ed9587 Mon Sep 17 00:00:00 2001 From: Mark Pundsack Date: Thu, 16 Jun 2016 13:15:50 -0700 Subject: Add GIT_STRATEGY and GIT_DEPTH --- doc/ci/yaml/README.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/doc/ci/yaml/README.md b/doc/ci/yaml/README.md index 9c98f9c98c6..51c6f814c00 100644 --- a/doc/ci/yaml/README.md +++ b/doc/ci/yaml/README.md @@ -814,6 +814,43 @@ job: - execute this after my script ``` +## Git Strategy + +>**Note:** +Introduced in GitLab 8.9 as an experimental feature + +You can set the `GIT_STRATEGY` used for getting recent application code. `clone` +is slower, but makes sure you have a clean directory before every build. `fetch` +is faster. If specified, it will override the project settings in the web UI. + +``` +variables: + GIT_STRATEGY: clone +``` + +or + +``` +variables: + GIT_STRATEGY: fetch +``` + +## Shallow cloning + +>**Note:** +Introduced in GitLab 8.9 as an experimental feature + +You can specify the depth of fetching and cloning using `GIT_DEPTH`. This allows +shallow cloning of the repository. The value is passed to `git fetch` and `git +clone`. If set while cloning, it will imply `--shallow-modules`, which means +submodules will be cloned with a depth of 1 regardless of the value of +`GIT_DEPTH`. + +``` +variables: + GIT_DEPTH: "1" +``` + ## Hidden jobs >**Note:** -- cgit v1.2.1 From da6d148c3ff43c5b74f7d30896483b2708ccb8cd Mon Sep 17 00:00:00 2001 From: Mark Pundsack Date: Thu, 16 Jun 2016 13:55:23 -0700 Subject: Add to TOC --- doc/ci/yaml/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/ci/yaml/README.md b/doc/ci/yaml/README.md index 51c6f814c00..6a64d48e703 100644 --- a/doc/ci/yaml/README.md +++ b/doc/ci/yaml/README.md @@ -35,6 +35,8 @@ If you want a quick introduction to GitLab CI, follow our - [artifacts:expire_in](#artifacts-expire_in) - [dependencies](#dependencies) - [before_script and after_script](#before_script-and-after_script) +- [Git Strategy](#git-strategy) +- [Shallow cloning](#shallow-cloning) - [Hidden jobs](#hidden-jobs) - [Special YAML features](#special-yaml-features) - [Anchors](#anchors) -- cgit v1.2.1 From 4e0f9eeba77d295ac3b2f8c2ef122ff7945bfcce Mon Sep 17 00:00:00 2001 From: Mark Pundsack Date: Thu, 16 Jun 2016 14:04:10 -0700 Subject: Clean up TOC --- doc/ci/yaml/README.md | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/doc/ci/yaml/README.md b/doc/ci/yaml/README.md index 6a64d48e703..4ab587b293b 100644 --- a/doc/ci/yaml/README.md +++ b/doc/ci/yaml/README.md @@ -13,34 +13,34 @@ If you want a quick introduction to GitLab CI, follow our **Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* - [.gitlab-ci.yml](#gitlab-ci-yml) - - [image and services](#image-and-services) - - [before_script](#before_script) - - [after_script](#after_script) - - [stages](#stages) - - [types](#types) - - [variables](#variables) - - [cache](#cache) - - [cache:key](#cache-key) + - [image and services](#image-and-services) + - [before_script](#before_script) + - [after_script](#after_script) + - [stages](#stages) + - [types](#types) + - [variables](#variables) + - [cache](#cache) + - [cache:key](#cache-key) - [Jobs](#jobs) - - [script](#script) - - [stage](#stage) - - [job variables](#job-variables) - - [only and except](#only-and-except) - - [tags](#tags) - - [when](#when) - - [environment](#environment) - - [artifacts](#artifacts) - - [artifacts:name](#artifacts-name) - - [artifacts:when](#artifacts-when) - - [artifacts:expire_in](#artifacts-expire_in) - - [dependencies](#dependencies) - - [before_script and after_script](#before_script-and-after_script) + - [script](#script) + - [stage](#stage) + - [only and except](#only-and-except) + - [job variables](#job-variables) + - [tags](#tags) + - [when](#when) + - [environment](#environment) + - [artifacts](#artifacts) + - [artifacts:name](#artifactsname) + - [artifacts:when](#artifactswhen) + - [artifacts:expire_in](#artifactsexpire_in) + - [dependencies](#dependencies) + - [before_script and after_script](#before_script-and-after_script) - [Git Strategy](#git-strategy) - [Shallow cloning](#shallow-cloning) - [Hidden jobs](#hidden-jobs) - [Special YAML features](#special-yaml-features) - - [Anchors](#anchors) -- [Validate the .gitlab-ci.yml](#validate-the-gitlab-ci-yml) + - [Anchors](#anchors) +- [Validate the .gitlab-ci.yml](#validate-the-gitlab-ciyml) - [Skipping builds](#skipping-builds) - [Examples](#examples) -- cgit v1.2.1 From 5de95d4e7088a0e1d94c7991d95ddd92a2345459 Mon Sep 17 00:00:00 2001 From: Mark Pundsack Date: Fri, 17 Jun 2016 15:25:32 -0700 Subject: Update GIT_DEPTH wording --- doc/ci/yaml/README.md | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/doc/ci/yaml/README.md b/doc/ci/yaml/README.md index 4ab587b293b..7d2afe4c3fa 100644 --- a/doc/ci/yaml/README.md +++ b/doc/ci/yaml/README.md @@ -819,11 +819,14 @@ job: ## Git Strategy >**Note:** -Introduced in GitLab 8.9 as an experimental feature +Introduced in GitLab 8.9 as an experimental feature. May change in future +releases or be removed completely. You can set the `GIT_STRATEGY` used for getting recent application code. `clone` is slower, but makes sure you have a clean directory before every build. `fetch` -is faster. If specified, it will override the project settings in the web UI. +is faster. `GIT_STRATEGY` can be specified in the global `variables` section or +in the `variables` section for individual jobs. If it's not specified, then the +default from project settings will be used. ``` variables: @@ -840,17 +843,32 @@ variables: ## Shallow cloning >**Note:** -Introduced in GitLab 8.9 as an experimental feature +Introduced in GitLab 8.9 as an experimental feature. May change in future +releases or be removed completely. You can specify the depth of fetching and cloning using `GIT_DEPTH`. This allows -shallow cloning of the repository. The value is passed to `git fetch` and `git -clone`. If set while cloning, it will imply `--shallow-modules`, which means -submodules will be cloned with a depth of 1 regardless of the value of -`GIT_DEPTH`. +shallow cloning of the repository which can significantly speed up cloning for +repositories with a large number of commits or old, large binaries. The value is +passed to `git fetch` and `git clone`. +>**Note:** +If you use a depth of 1 and have a queue of builds or retry +builds, jobs may fail. + +Since Git fetching and cloning is based on a ref, such as a branch name, runners +can't clone a specific commit SHA. If there are multiple builds in the queue, or +you are retrying an old build, the commit to be tested needs to be within the +git history that is cloned. Setting too small a value for `GIT_DEPTH` can make +it impossible to run these old commits. You will see `unresolved reference` in +build logs. You should then reconsider changing `GIT_DEPTH` to a higher value. + +Builds that rely on `git describe` may not work correctly when `GIT_DEPTH` is +set since only part of the git history is present. + +To fetch or clone only the last 3 commits: ``` variables: - GIT_DEPTH: "1" + GIT_DEPTH: "3" ``` ## Hidden jobs -- cgit v1.2.1 From 9a5b2e94d65774edda9bb0e8bf6df22347d48ed7 Mon Sep 17 00:00:00 2001 From: winniehell Date: Mon, 20 Jun 2016 09:26:28 +0200 Subject: wrap code blocks on Activies and Todos page --- CHANGELOG | 1 + app/assets/stylesheets/pages/events.scss | 4 ++++ app/assets/stylesheets/pages/todos.scss | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 44e6a194745..204fb4ea0f5 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -31,6 +31,7 @@ v 8.9.0 (unreleased) - Implement a fair usage of shared runners - Remove project notification settings associated with deleted projects - Fix 404 page when viewing TODOs that contain milestones or labels in different projects + - Wrap code blocks on Activies and Todos page !4783 (winniehell) - Add a metric for the number of new Redis connections created by a transaction - Fix Error 500 when viewing a blob with binary characters after the 1024-byte mark - Redesign navigation for project pages diff --git a/app/assets/stylesheets/pages/events.scss b/app/assets/stylesheets/pages/events.scss index 6c36f603daf..a2145956eb5 100644 --- a/app/assets/stylesheets/pages/events.scss +++ b/app/assets/stylesheets/pages/events.scss @@ -54,6 +54,10 @@ } } + code { + white-space: pre-wrap; + } + pre { border: none; background: #f9f9f9; diff --git a/app/assets/stylesheets/pages/todos.scss b/app/assets/stylesheets/pages/todos.scss index afc00a68572..cf16d070cfe 100644 --- a/app/assets/stylesheets/pages/todos.scss +++ b/app/assets/stylesheets/pages/todos.scss @@ -62,6 +62,10 @@ } } + code { + white-space: pre-wrap; + } + pre { border: none; background: #f9f9f9; -- cgit v1.2.1 From 4693b74801f9b473d270400b8954a90d389ddb54 Mon Sep 17 00:00:00 2001 From: Mark Pundsack Date: Tue, 21 Jun 2016 08:44:12 -0700 Subject: Clarify artifact expiry --- doc/ci/yaml/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/ci/yaml/README.md b/doc/ci/yaml/README.md index d0fbcbe9988..179d6c867c1 100644 --- a/doc/ci/yaml/README.md +++ b/doc/ci/yaml/README.md @@ -724,8 +724,8 @@ time they are uploaded and stored on GitLab. You can use the **Keep** button on the build page to override expiration and keep artifacts forever. -By default, artifacts are deleted hourly (via a cron job), but they are not -accessible after expiry. +After expiry, artifacts are actually deleted hourly by default (via a cron job), +but they are not accessible after expiry. The value of `expire_in` is an elapsed time. Examples of parseable values: - '3 mins 4 sec' -- cgit v1.2.1 From cd28597c82f415dd1f106477492467bb9ade3ecc Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Tue, 22 Mar 2016 19:32:35 +0200 Subject: Refactor labels docs [ci skip] --- .../img/labels_assign_label_in_new_issue.png | Bin 0 -> 26380 bytes doc/workflow/img/labels_assign_label_sidebar.png | Bin 0 -> 30137 bytes .../img/labels_assign_label_sidebar_saved.png | Bin 0 -> 25488 bytes doc/workflow/img/labels_default.png | Bin 0 -> 58717 bytes doc/workflow/img/labels_description_tooltip.png | Bin 0 -> 39315 bytes doc/workflow/img/labels_filter.png | Bin 0 -> 86911 bytes doc/workflow/img/labels_generate.png | Bin 0 -> 29986 bytes doc/workflow/img/labels_new_label.png | Bin 0 -> 29671 bytes doc/workflow/img/labels_new_label_on_the_fly.png | Bin 0 -> 11586 bytes .../img/labels_new_label_on_the_fly_create.png | Bin 0 -> 20604 bytes doc/workflow/img/labels_subscribe.png | Bin 0 -> 50177 bytes doc/workflow/labels.md | 110 +++++++++++++++++++-- 12 files changed, 101 insertions(+), 9 deletions(-) create mode 100644 doc/workflow/img/labels_assign_label_in_new_issue.png create mode 100644 doc/workflow/img/labels_assign_label_sidebar.png create mode 100644 doc/workflow/img/labels_assign_label_sidebar_saved.png create mode 100644 doc/workflow/img/labels_default.png create mode 100644 doc/workflow/img/labels_description_tooltip.png create mode 100644 doc/workflow/img/labels_filter.png create mode 100644 doc/workflow/img/labels_generate.png create mode 100644 doc/workflow/img/labels_new_label.png create mode 100644 doc/workflow/img/labels_new_label_on_the_fly.png create mode 100644 doc/workflow/img/labels_new_label_on_the_fly_create.png create mode 100644 doc/workflow/img/labels_subscribe.png diff --git a/doc/workflow/img/labels_assign_label_in_new_issue.png b/doc/workflow/img/labels_assign_label_in_new_issue.png new file mode 100644 index 00000000000..72bbf9a0594 Binary files /dev/null and b/doc/workflow/img/labels_assign_label_in_new_issue.png differ diff --git a/doc/workflow/img/labels_assign_label_sidebar.png b/doc/workflow/img/labels_assign_label_sidebar.png new file mode 100644 index 00000000000..ffbbf5b8d21 Binary files /dev/null and b/doc/workflow/img/labels_assign_label_sidebar.png differ diff --git a/doc/workflow/img/labels_assign_label_sidebar_saved.png b/doc/workflow/img/labels_assign_label_sidebar_saved.png new file mode 100644 index 00000000000..2771b02735f Binary files /dev/null and b/doc/workflow/img/labels_assign_label_sidebar_saved.png differ diff --git a/doc/workflow/img/labels_default.png b/doc/workflow/img/labels_default.png new file mode 100644 index 00000000000..2d44eb4409b Binary files /dev/null and b/doc/workflow/img/labels_default.png differ diff --git a/doc/workflow/img/labels_description_tooltip.png b/doc/workflow/img/labels_description_tooltip.png new file mode 100644 index 00000000000..887ef5f43a8 Binary files /dev/null and b/doc/workflow/img/labels_description_tooltip.png differ diff --git a/doc/workflow/img/labels_filter.png b/doc/workflow/img/labels_filter.png new file mode 100644 index 00000000000..139b3b22e14 Binary files /dev/null and b/doc/workflow/img/labels_filter.png differ diff --git a/doc/workflow/img/labels_generate.png b/doc/workflow/img/labels_generate.png new file mode 100644 index 00000000000..78eff8525bf Binary files /dev/null and b/doc/workflow/img/labels_generate.png differ diff --git a/doc/workflow/img/labels_new_label.png b/doc/workflow/img/labels_new_label.png new file mode 100644 index 00000000000..6dc4fe8ce20 Binary files /dev/null and b/doc/workflow/img/labels_new_label.png differ diff --git a/doc/workflow/img/labels_new_label_on_the_fly.png b/doc/workflow/img/labels_new_label_on_the_fly.png new file mode 100644 index 00000000000..4559c56dbda Binary files /dev/null and b/doc/workflow/img/labels_new_label_on_the_fly.png differ diff --git a/doc/workflow/img/labels_new_label_on_the_fly_create.png b/doc/workflow/img/labels_new_label_on_the_fly_create.png new file mode 100644 index 00000000000..ee75bc6ec92 Binary files /dev/null and b/doc/workflow/img/labels_new_label_on_the_fly_create.png differ diff --git a/doc/workflow/img/labels_subscribe.png b/doc/workflow/img/labels_subscribe.png new file mode 100644 index 00000000000..f3c1a1b67e2 Binary files /dev/null and b/doc/workflow/img/labels_subscribe.png differ diff --git a/doc/workflow/labels.md b/doc/workflow/labels.md index 6e4840ca5ae..35d62573c51 100644 --- a/doc/workflow/labels.md +++ b/doc/workflow/labels.md @@ -1,18 +1,110 @@ # Labels -In GitLab, you can easily tag issues and Merge Requests. If you have permission level `Developer` or higher, you can manage labels. To create, edit or delete a label, go to a project and then to `Issues` and then `Labels`. +Labels provide an easy way to categorize the issues or merge requests based on +descriptive titles like `bug`, `documentation` or any other text you feel like +it. They can have different colors, a description, and are visible throughout +the issue tracker or inside each issue individually. -Here you can create a new label. +With labels, you can navigate the issue tracker and filter any bloated +information to visualize only the issues you are interested in. Let's see how +that works. -![new label](labels/label1.png) +## Create new labels -You can choose to set a color. +>**Note:** +A permission level of `Developer` or higher is required in order to manage +labels. -![label color](labels/label2.png) +Head over a single project and navigate to the label page by clicking on +**Labels** in the left sidebar. -If you want to change an existing label, press edit next to the listed label. -You will be presented with the same form as when creating a new label. +The first time you visit the **Labels** page you'll notice that there are no +labels created yet. -![edit label](labels/label3.png) +![Generate new labels](img/labels_generate.png) -You can add labels to Merge Requests when you create or edit them. +--- + +You can skip that and create a new label or click that link and GitLab will +generate a set of predefined labels for you. There 8 default generated labels +in total and you can see them in the screenshot below. + +![Default generated labels](img/labels_default.png) + +--- + +You can see that from the labels page you can have an overview of the number of +issues and merge requests assigned to each label. + +Creating a new label from scratch is as easy as pressing the **New label** +button. From there on you can choose the name, give it an optional description, +a color and you are set. + +When you are ready press the **Create label** button to create the new label. + +![New label](img/labels_new_label.png) + +## Create a new label right from the issue tracker + +>**Note:** +This feature was introduced in GitLab 8.6. + +There are times when you are already in the issue tracker searching for a +label, only to realize it doesn't exist. Instead of going to the **Labels** +page and being distracted from your original purpose, you can create new +labels on the fly. + +Just hit **New Label** from the dropdown list, provide a name, pick a color +and hit **Create**. + +![Create new label on the fly](img/labels_new_label_on_the_fly_create.png) +![New label on the fly](img/labels_new_label_on_the_fly.png) + +## Assigning labels to issues and merge requests + +There are generally two ways to assign a label to an issue or merge request. + +--- + +You can assign a label when you first create or edit an issue or merge request. + +![Assign label in new issue](img/labels_assign_label_in_new_issue.png) + +--- + +The second way is by using the right sidebar. Expand it and hit **Edit**. Start +typing the name of the label you are looking for to narrow down the list and +select it. Once done, click outside the sidebar area for the changes to take +effect. + +![Assign label in sidebar](img/labels_assign_label_sidebar.png) +![Save labels in sidebar](img/labels_assign_label_sidebar_saved.png) + +--- + +To remove labels, follow the same procedure like when adding them and hit the +little **x** mark next to each one. + +## Use labels to filter issues + +Once you start adding labels to your issues, you'll see the benefit of it. +Labels can have several uses, one of them being the quick filtering of issues +or merge requests. + +Pick an existing label from the dropdown _Label_ menu or click on an existing +label from the issue tracker. In the latter case, you also get to see the +label description like shown below. + +![Filter labels](img/labels_filter.png) + +## Subscribe to labels + +If you don’t want to miss issues or merge requests that are important to you, +simply subscribe to a label. You’ll get notified whenever the label gets added +to an issue or merge request, making sure you don’t miss a thing. + +![Subscribe to labels](img/labels_subscribe.png) + +If you work on a large or popular project, try subscribing only to the labels +that are relevant to you. You’ll notice it’ll be much easier to focus on what’s +important. -- cgit v1.2.1 From 67d6d964299972e1fc8adc062fa7aed2c3fd6512 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Tue, 22 Mar 2016 20:20:48 +0200 Subject: Add info on tooltips [ci skip] --- doc/workflow/labels.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/workflow/labels.md b/doc/workflow/labels.md index 35d62573c51..93a14e7b8d7 100644 --- a/doc/workflow/labels.md +++ b/doc/workflow/labels.md @@ -97,6 +97,13 @@ label description like shown below. ![Filter labels](img/labels_filter.png) +--- + +And if you added a description to your label, you can see it by hovering your +mouse over the label in the issue tracker. + +![Label tooltips](img/labels_description_tooltip.png) + ## Subscribe to labels If you don’t want to miss issues or merge requests that are important to you, -- cgit v1.2.1 From 8195deb8a6debe3aa5a8f0573d0768dd257f7305 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Tue, 21 Jun 2016 18:54:30 +0200 Subject: Move labels documentation to new location Due to https://gitlab.com/gitlab-org/gitlab-ce/issues/3349 --- doc/intro/README.md | 2 +- .../img/labels_assign_label_in_new_issue.png | Bin 0 -> 26380 bytes .../project/img/labels_assign_label_sidebar.png | Bin 0 -> 30137 bytes .../img/labels_assign_label_sidebar_saved.png | Bin 0 -> 25488 bytes doc/user/project/img/labels_default.png | Bin 0 -> 58717 bytes .../project/img/labels_description_tooltip.png | Bin 0 -> 39315 bytes doc/user/project/img/labels_filter.png | Bin 0 -> 86911 bytes doc/user/project/img/labels_generate.png | Bin 0 -> 29986 bytes doc/user/project/img/labels_new_label.png | Bin 0 -> 29671 bytes .../project/img/labels_new_label_on_the_fly.png | Bin 0 -> 11586 bytes .../img/labels_new_label_on_the_fly_create.png | Bin 0 -> 20604 bytes doc/user/project/img/labels_subscribe.png | Bin 0 -> 50177 bytes doc/user/project/labels.md | 117 +++++++++++++++++++++ doc/workflow/README.md | 2 +- .../img/labels_assign_label_in_new_issue.png | Bin 26380 -> 0 bytes doc/workflow/img/labels_assign_label_sidebar.png | Bin 30137 -> 0 bytes .../img/labels_assign_label_sidebar_saved.png | Bin 25488 -> 0 bytes doc/workflow/img/labels_default.png | Bin 58717 -> 0 bytes doc/workflow/img/labels_description_tooltip.png | Bin 39315 -> 0 bytes doc/workflow/img/labels_filter.png | Bin 86911 -> 0 bytes doc/workflow/img/labels_generate.png | Bin 29986 -> 0 bytes doc/workflow/img/labels_new_label.png | Bin 29671 -> 0 bytes doc/workflow/img/labels_new_label_on_the_fly.png | Bin 11586 -> 0 bytes .../img/labels_new_label_on_the_fly_create.png | Bin 20604 -> 0 bytes doc/workflow/img/labels_subscribe.png | Bin 50177 -> 0 bytes doc/workflow/labels.md | 116 +------------------- doc/workflow/labels/label1.png | Bin 5846 -> 0 bytes doc/workflow/labels/label2.png | Bin 16931 -> 0 bytes doc/workflow/labels/label3.png | Bin 19360 -> 0 bytes 29 files changed, 120 insertions(+), 117 deletions(-) create mode 100644 doc/user/project/img/labels_assign_label_in_new_issue.png create mode 100644 doc/user/project/img/labels_assign_label_sidebar.png create mode 100644 doc/user/project/img/labels_assign_label_sidebar_saved.png create mode 100644 doc/user/project/img/labels_default.png create mode 100644 doc/user/project/img/labels_description_tooltip.png create mode 100644 doc/user/project/img/labels_filter.png create mode 100644 doc/user/project/img/labels_generate.png create mode 100644 doc/user/project/img/labels_new_label.png create mode 100644 doc/user/project/img/labels_new_label_on_the_fly.png create mode 100644 doc/user/project/img/labels_new_label_on_the_fly_create.png create mode 100644 doc/user/project/img/labels_subscribe.png create mode 100644 doc/user/project/labels.md delete mode 100644 doc/workflow/img/labels_assign_label_in_new_issue.png delete mode 100644 doc/workflow/img/labels_assign_label_sidebar.png delete mode 100644 doc/workflow/img/labels_assign_label_sidebar_saved.png delete mode 100644 doc/workflow/img/labels_default.png delete mode 100644 doc/workflow/img/labels_description_tooltip.png delete mode 100644 doc/workflow/img/labels_filter.png delete mode 100644 doc/workflow/img/labels_generate.png delete mode 100644 doc/workflow/img/labels_new_label.png delete mode 100644 doc/workflow/img/labels_new_label_on_the_fly.png delete mode 100644 doc/workflow/img/labels_new_label_on_the_fly_create.png delete mode 100644 doc/workflow/img/labels_subscribe.png delete mode 100644 doc/workflow/labels/label1.png delete mode 100644 doc/workflow/labels/label2.png delete mode 100644 doc/workflow/labels/label3.png diff --git a/doc/intro/README.md b/doc/intro/README.md index 382d10aaf40..1850031eb26 100644 --- a/doc/intro/README.md +++ b/doc/intro/README.md @@ -12,7 +12,7 @@ Create projects and groups. Create issues, labels, milestones, cast your vote, and review issues. - [Create a new issue](../gitlab-basics/create-issue.md) -- [Assign labels to issues](../workflow/labels.md) +- [Assign labels to issues](../user/project/labels.md) - [Use milestones as an overview of your project's tracker](../workflow/milestones.md) - [Use voting to express your like/dislike to issues and merge requests](../workflow/award_emoji.md) diff --git a/doc/user/project/img/labels_assign_label_in_new_issue.png b/doc/user/project/img/labels_assign_label_in_new_issue.png new file mode 100644 index 00000000000..72bbf9a0594 Binary files /dev/null and b/doc/user/project/img/labels_assign_label_in_new_issue.png differ diff --git a/doc/user/project/img/labels_assign_label_sidebar.png b/doc/user/project/img/labels_assign_label_sidebar.png new file mode 100644 index 00000000000..ffbbf5b8d21 Binary files /dev/null and b/doc/user/project/img/labels_assign_label_sidebar.png differ diff --git a/doc/user/project/img/labels_assign_label_sidebar_saved.png b/doc/user/project/img/labels_assign_label_sidebar_saved.png new file mode 100644 index 00000000000..2771b02735f Binary files /dev/null and b/doc/user/project/img/labels_assign_label_sidebar_saved.png differ diff --git a/doc/user/project/img/labels_default.png b/doc/user/project/img/labels_default.png new file mode 100644 index 00000000000..2d44eb4409b Binary files /dev/null and b/doc/user/project/img/labels_default.png differ diff --git a/doc/user/project/img/labels_description_tooltip.png b/doc/user/project/img/labels_description_tooltip.png new file mode 100644 index 00000000000..887ef5f43a8 Binary files /dev/null and b/doc/user/project/img/labels_description_tooltip.png differ diff --git a/doc/user/project/img/labels_filter.png b/doc/user/project/img/labels_filter.png new file mode 100644 index 00000000000..139b3b22e14 Binary files /dev/null and b/doc/user/project/img/labels_filter.png differ diff --git a/doc/user/project/img/labels_generate.png b/doc/user/project/img/labels_generate.png new file mode 100644 index 00000000000..78eff8525bf Binary files /dev/null and b/doc/user/project/img/labels_generate.png differ diff --git a/doc/user/project/img/labels_new_label.png b/doc/user/project/img/labels_new_label.png new file mode 100644 index 00000000000..6dc4fe8ce20 Binary files /dev/null and b/doc/user/project/img/labels_new_label.png differ diff --git a/doc/user/project/img/labels_new_label_on_the_fly.png b/doc/user/project/img/labels_new_label_on_the_fly.png new file mode 100644 index 00000000000..4559c56dbda Binary files /dev/null and b/doc/user/project/img/labels_new_label_on_the_fly.png differ diff --git a/doc/user/project/img/labels_new_label_on_the_fly_create.png b/doc/user/project/img/labels_new_label_on_the_fly_create.png new file mode 100644 index 00000000000..ee75bc6ec92 Binary files /dev/null and b/doc/user/project/img/labels_new_label_on_the_fly_create.png differ diff --git a/doc/user/project/img/labels_subscribe.png b/doc/user/project/img/labels_subscribe.png new file mode 100644 index 00000000000..f3c1a1b67e2 Binary files /dev/null and b/doc/user/project/img/labels_subscribe.png differ diff --git a/doc/user/project/labels.md b/doc/user/project/labels.md new file mode 100644 index 00000000000..93a14e7b8d7 --- /dev/null +++ b/doc/user/project/labels.md @@ -0,0 +1,117 @@ +# Labels + +Labels provide an easy way to categorize the issues or merge requests based on +descriptive titles like `bug`, `documentation` or any other text you feel like +it. They can have different colors, a description, and are visible throughout +the issue tracker or inside each issue individually. + +With labels, you can navigate the issue tracker and filter any bloated +information to visualize only the issues you are interested in. Let's see how +that works. + +## Create new labels + +>**Note:** +A permission level of `Developer` or higher is required in order to manage +labels. + +Head over a single project and navigate to the label page by clicking on +**Labels** in the left sidebar. + +The first time you visit the **Labels** page you'll notice that there are no +labels created yet. + +![Generate new labels](img/labels_generate.png) + +--- + +You can skip that and create a new label or click that link and GitLab will +generate a set of predefined labels for you. There 8 default generated labels +in total and you can see them in the screenshot below. + +![Default generated labels](img/labels_default.png) + +--- + +You can see that from the labels page you can have an overview of the number of +issues and merge requests assigned to each label. + +Creating a new label from scratch is as easy as pressing the **New label** +button. From there on you can choose the name, give it an optional description, +a color and you are set. + +When you are ready press the **Create label** button to create the new label. + +![New label](img/labels_new_label.png) + +## Create a new label right from the issue tracker + +>**Note:** +This feature was introduced in GitLab 8.6. + +There are times when you are already in the issue tracker searching for a +label, only to realize it doesn't exist. Instead of going to the **Labels** +page and being distracted from your original purpose, you can create new +labels on the fly. + +Just hit **New Label** from the dropdown list, provide a name, pick a color +and hit **Create**. + +![Create new label on the fly](img/labels_new_label_on_the_fly_create.png) +![New label on the fly](img/labels_new_label_on_the_fly.png) + +## Assigning labels to issues and merge requests + +There are generally two ways to assign a label to an issue or merge request. + +--- + +You can assign a label when you first create or edit an issue or merge request. + +![Assign label in new issue](img/labels_assign_label_in_new_issue.png) + +--- + +The second way is by using the right sidebar. Expand it and hit **Edit**. Start +typing the name of the label you are looking for to narrow down the list and +select it. Once done, click outside the sidebar area for the changes to take +effect. + +![Assign label in sidebar](img/labels_assign_label_sidebar.png) +![Save labels in sidebar](img/labels_assign_label_sidebar_saved.png) + +--- + +To remove labels, follow the same procedure like when adding them and hit the +little **x** mark next to each one. + +## Use labels to filter issues + +Once you start adding labels to your issues, you'll see the benefit of it. +Labels can have several uses, one of them being the quick filtering of issues +or merge requests. + +Pick an existing label from the dropdown _Label_ menu or click on an existing +label from the issue tracker. In the latter case, you also get to see the +label description like shown below. + +![Filter labels](img/labels_filter.png) + +--- + +And if you added a description to your label, you can see it by hovering your +mouse over the label in the issue tracker. + +![Label tooltips](img/labels_description_tooltip.png) + +## Subscribe to labels + +If you don’t want to miss issues or merge requests that are important to you, +simply subscribe to a label. You’ll get notified whenever the label gets added +to an issue or merge request, making sure you don’t miss a thing. + +![Subscribe to labels](img/labels_subscribe.png) + +If you work on a large or popular project, try subscribing only to the labels +that are relevant to you. You’ll notice it’ll be much easier to focus on what’s +important. diff --git a/doc/workflow/README.md b/doc/workflow/README.md index 9efe41308dc..ddb2f7281b1 100644 --- a/doc/workflow/README.md +++ b/doc/workflow/README.md @@ -7,7 +7,7 @@ - [Groups](groups.md) - [Keyboard shortcuts](shortcuts.md) - [File finder](file_finder.md) -- [Labels](labels.md) +- [Labels](../user/project/labels.md) - [Notification emails](notifications.md) - [Project Features](project_features.md) - [Project forking workflow](forking_workflow.md) diff --git a/doc/workflow/img/labels_assign_label_in_new_issue.png b/doc/workflow/img/labels_assign_label_in_new_issue.png deleted file mode 100644 index 72bbf9a0594..00000000000 Binary files a/doc/workflow/img/labels_assign_label_in_new_issue.png and /dev/null differ diff --git a/doc/workflow/img/labels_assign_label_sidebar.png b/doc/workflow/img/labels_assign_label_sidebar.png deleted file mode 100644 index ffbbf5b8d21..00000000000 Binary files a/doc/workflow/img/labels_assign_label_sidebar.png and /dev/null differ diff --git a/doc/workflow/img/labels_assign_label_sidebar_saved.png b/doc/workflow/img/labels_assign_label_sidebar_saved.png deleted file mode 100644 index 2771b02735f..00000000000 Binary files a/doc/workflow/img/labels_assign_label_sidebar_saved.png and /dev/null differ diff --git a/doc/workflow/img/labels_default.png b/doc/workflow/img/labels_default.png deleted file mode 100644 index 2d44eb4409b..00000000000 Binary files a/doc/workflow/img/labels_default.png and /dev/null differ diff --git a/doc/workflow/img/labels_description_tooltip.png b/doc/workflow/img/labels_description_tooltip.png deleted file mode 100644 index 887ef5f43a8..00000000000 Binary files a/doc/workflow/img/labels_description_tooltip.png and /dev/null differ diff --git a/doc/workflow/img/labels_filter.png b/doc/workflow/img/labels_filter.png deleted file mode 100644 index 139b3b22e14..00000000000 Binary files a/doc/workflow/img/labels_filter.png and /dev/null differ diff --git a/doc/workflow/img/labels_generate.png b/doc/workflow/img/labels_generate.png deleted file mode 100644 index 78eff8525bf..00000000000 Binary files a/doc/workflow/img/labels_generate.png and /dev/null differ diff --git a/doc/workflow/img/labels_new_label.png b/doc/workflow/img/labels_new_label.png deleted file mode 100644 index 6dc4fe8ce20..00000000000 Binary files a/doc/workflow/img/labels_new_label.png and /dev/null differ diff --git a/doc/workflow/img/labels_new_label_on_the_fly.png b/doc/workflow/img/labels_new_label_on_the_fly.png deleted file mode 100644 index 4559c56dbda..00000000000 Binary files a/doc/workflow/img/labels_new_label_on_the_fly.png and /dev/null differ diff --git a/doc/workflow/img/labels_new_label_on_the_fly_create.png b/doc/workflow/img/labels_new_label_on_the_fly_create.png deleted file mode 100644 index ee75bc6ec92..00000000000 Binary files a/doc/workflow/img/labels_new_label_on_the_fly_create.png and /dev/null differ diff --git a/doc/workflow/img/labels_subscribe.png b/doc/workflow/img/labels_subscribe.png deleted file mode 100644 index f3c1a1b67e2..00000000000 Binary files a/doc/workflow/img/labels_subscribe.png and /dev/null differ diff --git a/doc/workflow/labels.md b/doc/workflow/labels.md index 93a14e7b8d7..5c09891dfdd 100644 --- a/doc/workflow/labels.md +++ b/doc/workflow/labels.md @@ -1,117 +1,3 @@ # Labels -Labels provide an easy way to categorize the issues or merge requests based on -descriptive titles like `bug`, `documentation` or any other text you feel like -it. They can have different colors, a description, and are visible throughout -the issue tracker or inside each issue individually. - -With labels, you can navigate the issue tracker and filter any bloated -information to visualize only the issues you are interested in. Let's see how -that works. - -## Create new labels - ->**Note:** -A permission level of `Developer` or higher is required in order to manage -labels. - -Head over a single project and navigate to the label page by clicking on -**Labels** in the left sidebar. - -The first time you visit the **Labels** page you'll notice that there are no -labels created yet. - -![Generate new labels](img/labels_generate.png) - ---- - -You can skip that and create a new label or click that link and GitLab will -generate a set of predefined labels for you. There 8 default generated labels -in total and you can see them in the screenshot below. - -![Default generated labels](img/labels_default.png) - ---- - -You can see that from the labels page you can have an overview of the number of -issues and merge requests assigned to each label. - -Creating a new label from scratch is as easy as pressing the **New label** -button. From there on you can choose the name, give it an optional description, -a color and you are set. - -When you are ready press the **Create label** button to create the new label. - -![New label](img/labels_new_label.png) - -## Create a new label right from the issue tracker - ->**Note:** -This feature was introduced in GitLab 8.6. - -There are times when you are already in the issue tracker searching for a -label, only to realize it doesn't exist. Instead of going to the **Labels** -page and being distracted from your original purpose, you can create new -labels on the fly. - -Just hit **New Label** from the dropdown list, provide a name, pick a color -and hit **Create**. - -![Create new label on the fly](img/labels_new_label_on_the_fly_create.png) -![New label on the fly](img/labels_new_label_on_the_fly.png) - -## Assigning labels to issues and merge requests - -There are generally two ways to assign a label to an issue or merge request. - ---- - -You can assign a label when you first create or edit an issue or merge request. - -![Assign label in new issue](img/labels_assign_label_in_new_issue.png) - ---- - -The second way is by using the right sidebar. Expand it and hit **Edit**. Start -typing the name of the label you are looking for to narrow down the list and -select it. Once done, click outside the sidebar area for the changes to take -effect. - -![Assign label in sidebar](img/labels_assign_label_sidebar.png) -![Save labels in sidebar](img/labels_assign_label_sidebar_saved.png) - ---- - -To remove labels, follow the same procedure like when adding them and hit the -little **x** mark next to each one. - -## Use labels to filter issues - -Once you start adding labels to your issues, you'll see the benefit of it. -Labels can have several uses, one of them being the quick filtering of issues -or merge requests. - -Pick an existing label from the dropdown _Label_ menu or click on an existing -label from the issue tracker. In the latter case, you also get to see the -label description like shown below. - -![Filter labels](img/labels_filter.png) - ---- - -And if you added a description to your label, you can see it by hovering your -mouse over the label in the issue tracker. - -![Label tooltips](img/labels_description_tooltip.png) - -## Subscribe to labels - -If you don’t want to miss issues or merge requests that are important to you, -simply subscribe to a label. You’ll get notified whenever the label gets added -to an issue or merge request, making sure you don’t miss a thing. - -![Subscribe to labels](img/labels_subscribe.png) - -If you work on a large or popular project, try subscribing only to the labels -that are relevant to you. You’ll notice it’ll be much easier to focus on what’s -important. +This document was moved to [user/project/labels.md](../user/project/labels.md). diff --git a/doc/workflow/labels/label1.png b/doc/workflow/labels/label1.png deleted file mode 100644 index cac661a34c8..00000000000 Binary files a/doc/workflow/labels/label1.png and /dev/null differ diff --git a/doc/workflow/labels/label2.png b/doc/workflow/labels/label2.png deleted file mode 100644 index 44d9fef86d4..00000000000 Binary files a/doc/workflow/labels/label2.png and /dev/null differ diff --git a/doc/workflow/labels/label3.png b/doc/workflow/labels/label3.png deleted file mode 100644 index e2fce11b7a4..00000000000 Binary files a/doc/workflow/labels/label3.png and /dev/null differ -- cgit v1.2.1 From e6ab0346f2772a8f16abaef22f69cf6dd049602f Mon Sep 17 00:00:00 2001 From: James Lopez Date: Fri, 17 Jun 2016 11:11:35 +0200 Subject: import/export docs --- doc/administration/img/export_1.png | Bin 0 -> 84637 bytes doc/administration/img/export_2.png | Bin 0 -> 13023 bytes doc/administration/img/export_3.png | Bin 0 -> 44012 bytes doc/administration/img/export_4.png | Bin 0 -> 86500 bytes doc/administration/img/import_1.png | Bin 0 -> 43574 bytes doc/administration/img/import_2.png | Bin 0 -> 46292 bytes doc/administration/import_export.md | 50 ++++++++++++++++++++++++++++++++++++ 7 files changed, 50 insertions(+) create mode 100644 doc/administration/img/export_1.png create mode 100644 doc/administration/img/export_2.png create mode 100644 doc/administration/img/export_3.png create mode 100644 doc/administration/img/export_4.png create mode 100644 doc/administration/img/import_1.png create mode 100644 doc/administration/img/import_2.png create mode 100644 doc/administration/import_export.md diff --git a/doc/administration/img/export_1.png b/doc/administration/img/export_1.png new file mode 100644 index 00000000000..1f7bdd21b0d Binary files /dev/null and b/doc/administration/img/export_1.png differ diff --git a/doc/administration/img/export_2.png b/doc/administration/img/export_2.png new file mode 100644 index 00000000000..ac866d7063d Binary files /dev/null and b/doc/administration/img/export_2.png differ diff --git a/doc/administration/img/export_3.png b/doc/administration/img/export_3.png new file mode 100644 index 00000000000..c123f83eb8e Binary files /dev/null and b/doc/administration/img/export_3.png differ diff --git a/doc/administration/img/export_4.png b/doc/administration/img/export_4.png new file mode 100644 index 00000000000..36568729abd Binary files /dev/null and b/doc/administration/img/export_4.png differ diff --git a/doc/administration/img/import_1.png b/doc/administration/img/import_1.png new file mode 100644 index 00000000000..b3a7f201018 Binary files /dev/null and b/doc/administration/img/import_1.png differ diff --git a/doc/administration/img/import_2.png b/doc/administration/img/import_2.png new file mode 100644 index 00000000000..f31832af3e1 Binary files /dev/null and b/doc/administration/img/import_2.png differ diff --git a/doc/administration/import_export.md b/doc/administration/import_export.md new file mode 100644 index 00000000000..b8ec12bbd05 --- /dev/null +++ b/doc/administration/import_export.md @@ -0,0 +1,50 @@ +# Project import/export + +Existing projects running on any GitLab instance or GitLab.com can be exported +with all its related data and moved into a new GitLab instance. + +## Requirements + +- You will need at least GitLab version 8.9 running on both instances +- Importing may not be possible if the import instance version is lower + than the exporter. + +## Exported contents + +* The following items will be exported: + * Project and wiki repositories + * Project uploads + * Project configuration including web hooks and services + * Issues with comments, merge requests with diffs and comments, labels, milestones, snippets, + and other project entities +* The following items will NOT be exported: + * Build traces and artifacts + * LFS objects + +## Exporting a project and its data + +1. Go to the project settings page and find the Export button. + + ![export_1](./img/export_1.png) + +2. Once the export is generated, you should receive an e-mail with a link to download the file. + + ![export_3](./img/export_3.png) + +3. You can come back to project settings and download the file from there, or delete it so it +can be generated again. + + ![export_4](./img/export_4.png) + +## Import + +1. The new GitLab project import feature is at the far right of the import options on New Project. + + ![import_1](./img/import_1.png) + +2. After choosing a namespace or path, you can then select the file prevoiusly exported. + + ![import_2](./img/import_2.png) + + +3. Click on Import and the import now begins and you will see your newly imported project page soon. -- cgit v1.2.1 From 604fb8bdca2ab6fc247a2006dfa8c5b665b0fd26 Mon Sep 17 00:00:00 2001 From: James Lopez Date: Fri, 17 Jun 2016 11:24:51 +0200 Subject: update docs --- doc/administration/import_export.md | 42 ++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/doc/administration/import_export.md b/doc/administration/import_export.md index b8ec12bbd05..adfb1993e76 100644 --- a/doc/administration/import_export.md +++ b/doc/administration/import_export.md @@ -3,48 +3,46 @@ Existing projects running on any GitLab instance or GitLab.com can be exported with all its related data and moved into a new GitLab instance. -## Requirements - -- You will need at least GitLab version 8.9 running on both instances -- Importing may not be possible if the import instance version is lower - than the exporter. +>**Note:** + - This feature was [introduced][ce-3050] in GitLab 8.9 + - Importing may not be possible if the import instance version is lower + than that of the exporter. ## Exported contents -* The following items will be exported: - * Project and wiki repositories - * Project uploads - * Project configuration including web hooks and services - * Issues with comments, merge requests with diffs and comments, labels, milestones, snippets, +- The following items will be exported: + - Project and wiki repositories + - Project uploads + - Project configuration including web hooks and services + - Issues with comments, merge requests with diffs and comments, labels, milestones, snippets, and other project entities -* The following items will NOT be exported: - * Build traces and artifacts - * LFS objects +- The following items will NOT be exported: + - Build traces and artifacts + - LFS objects ## Exporting a project and its data -1. Go to the project settings page and find the Export button. +1. Go to the project settings page and find the Export button ![export_1](./img/export_1.png) -2. Once the export is generated, you should receive an e-mail with a link to download the file. +1. Once the export is generated, you should receive an e-mail with a link to download the file ![export_3](./img/export_3.png) -3. You can come back to project settings and download the file from there, or delete it so it -can be generated again. +1. You can come back to project settings and download the file from there, or delete it so it +can be generated again ![export_4](./img/export_4.png) -## Import +## Importing the project -1. The new GitLab project import feature is at the far right of the import options on New Project. +1. The new GitLab project import feature is at the far right of the import options on New Project ![import_1](./img/import_1.png) -2. After choosing a namespace or path, you can then select the file prevoiusly exported. +1. After choosing a namespace or path, you can then select the file prevoiusly exported ![import_2](./img/import_2.png) - -3. Click on Import and the import now begins and you will see your newly imported project page soon. +1. Click on Import and the import now begins and you will see your newly imported project page soon -- cgit v1.2.1 From 6715402e2092f0def4b39ce5988138c0e10229ee Mon Sep 17 00:00:00 2001 From: James Lopez Date: Fri, 17 Jun 2016 12:12:14 +0200 Subject: added some extra nice tasks to have --- doc/administration/import_export.md | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/doc/administration/import_export.md b/doc/administration/import_export.md index adfb1993e76..950899dc04b 100644 --- a/doc/administration/import_export.md +++ b/doc/administration/import_export.md @@ -1,11 +1,11 @@ # Project import/export Existing projects running on any GitLab instance or GitLab.com can be exported -with all its related data and moved into a new GitLab instance. +with all its related data and be moved to a new GitLab instance. >**Note:** - This feature was [introduced][ce-3050] in GitLab 8.9 - - Importing may not be possible if the import instance version is lower + - Importing will not be possible if the import instance version is lower than that of the exporter. ## Exported contents @@ -41,8 +41,26 @@ can be generated again ![import_1](./img/import_1.png) -1. After choosing a namespace or path, you can then select the file prevoiusly exported +1. After choosing a namespace or path, you can then select the file exported previously ![import_2](./img/import_2.png) -1. Click on Import and the import now begins and you will see your newly imported project page soon +1. Click on Import to begin importing and you will see your newly imported project page soon + +[ce-3050]: https://gitlab.com/gitlab-org/gitlab-ce/issues/3050 + +## Advanced + +> The GitLab Import/Export version can be checked by using: + +```bash +cd /home/git/gitlab +sudo -u git -H bundle exec rake gitlab:import_export:version +``` + +> The current list of DB tables that will get exported can be listed by using: + +```bash +cd /home/git/gitlab +sudo -u git -H bundle exec rake gitlab:import_export:data RAILS_ENV=production +``` \ No newline at end of file -- cgit v1.2.1 From 3a7eb38a7889ee067c470ca8f6d964218844287e Mon Sep 17 00:00:00 2001 From: James Lopez Date: Fri, 17 Jun 2016 12:23:41 +0200 Subject: added nice to have - rake task and some changes to docs --- doc/README.md | 1 + doc/administration/import_export.md | 66 ------------------------------------ doc/workflow/import_export/README.md | 66 ++++++++++++++++++++++++++++++++++++ lib/tasks/gitlab/import_export.rake | 13 +++++++ 4 files changed, 80 insertions(+), 66 deletions(-) delete mode 100644 doc/administration/import_export.md create mode 100644 doc/workflow/import_export/README.md create mode 100644 lib/tasks/gitlab/import_export.rake diff --git a/doc/README.md b/doc/README.md index 5d89d0c9821..f51069b2c30 100644 --- a/doc/README.md +++ b/doc/README.md @@ -7,6 +7,7 @@ - [GitLab as OAuth2 authentication service provider](integration/oauth_provider.md). It allows you to login to other applications from GitLab. - [GitLab Basics](gitlab-basics/README.md) Find step by step how to start working on your commandline and on GitLab. - [Importing to GitLab](workflow/importing/README.md). +- [Importing and exporting projects between instances](workflow/import_export/README.md). - [Markdown](markdown/markdown.md) GitLab's advanced formatting system. - [Migrating from SVN](workflow/importing/migrating_from_svn.md) Convert a SVN repository to Git and GitLab - [Permissions](permissions/permissions.md) Learn what each role in a project (external/guest/reporter/developer/master/owner) can do. diff --git a/doc/administration/import_export.md b/doc/administration/import_export.md deleted file mode 100644 index 950899dc04b..00000000000 --- a/doc/administration/import_export.md +++ /dev/null @@ -1,66 +0,0 @@ -# Project import/export - -Existing projects running on any GitLab instance or GitLab.com can be exported -with all its related data and be moved to a new GitLab instance. - ->**Note:** - - This feature was [introduced][ce-3050] in GitLab 8.9 - - Importing will not be possible if the import instance version is lower - than that of the exporter. - -## Exported contents - -- The following items will be exported: - - Project and wiki repositories - - Project uploads - - Project configuration including web hooks and services - - Issues with comments, merge requests with diffs and comments, labels, milestones, snippets, - and other project entities -- The following items will NOT be exported: - - Build traces and artifacts - - LFS objects - -## Exporting a project and its data - -1. Go to the project settings page and find the Export button - - ![export_1](./img/export_1.png) - -1. Once the export is generated, you should receive an e-mail with a link to download the file - - ![export_3](./img/export_3.png) - -1. You can come back to project settings and download the file from there, or delete it so it -can be generated again - - ![export_4](./img/export_4.png) - -## Importing the project - -1. The new GitLab project import feature is at the far right of the import options on New Project - - ![import_1](./img/import_1.png) - -1. After choosing a namespace or path, you can then select the file exported previously - - ![import_2](./img/import_2.png) - -1. Click on Import to begin importing and you will see your newly imported project page soon - -[ce-3050]: https://gitlab.com/gitlab-org/gitlab-ce/issues/3050 - -## Advanced - -> The GitLab Import/Export version can be checked by using: - -```bash -cd /home/git/gitlab -sudo -u git -H bundle exec rake gitlab:import_export:version -``` - -> The current list of DB tables that will get exported can be listed by using: - -```bash -cd /home/git/gitlab -sudo -u git -H bundle exec rake gitlab:import_export:data RAILS_ENV=production -``` \ No newline at end of file diff --git a/doc/workflow/import_export/README.md b/doc/workflow/import_export/README.md new file mode 100644 index 00000000000..5349cca7172 --- /dev/null +++ b/doc/workflow/import_export/README.md @@ -0,0 +1,66 @@ +# Project import/export + +Existing projects running on any GitLab instance or GitLab.com can be exported +with all its related data and be moved into a new GitLab instance. + +>**Note:** + - This feature was [introduced][ce-3050] in GitLab 8.9 + - Importing will not be possible if the import instance version is lower + than that of the exporter. + +## Exported contents + +- The following items will be exported: + - Project and wiki repositories + - Project uploads + - Project configuration including web hooks and services + - Issues with comments, merge requests with diffs and comments, labels, milestones, snippets, + and other project entities +- The following items will NOT be exported: + - Build traces and artifacts + - LFS objects + +## Exporting a project and its data + +1. Go to the project settings page and find the Export button + + ![export_1](./img/export_1.png) + +1. Once the export is generated, you should receive an e-mail with a link to download the file + + ![export_3](./img/export_3.png) + +1. You can come back to project settings and download the file from there, or delete it so it +can be generated again + + ![export_4](./img/export_4.png) + +## Importing the project + +1. The new GitLab project import feature is at the far right of the import options on New Project + + ![import_1](./img/import_1.png) + +1. After choosing a namespace or path, you can then select the file exported previously + + ![import_2](./img/import_2.png) + +1. Click on Import to begin importing and you will see your newly imported project page soon + +[ce-3050]: https://gitlab.com/gitlab-org/gitlab-ce/issues/3050 + +## Advanced + +The GitLab Import/Export version can be checked by using: + +```bash +cd /home/git/gitlab +sudo -u git -H bundle exec rake gitlab:import_export:version RAILS_ENV=production +``` + +The current list of DB tables that will get exported can be listed by using: + +```bash +cd /home/git/gitlab +sudo -u git -H bundle exec rake gitlab:import_export:data RAILS_ENV=production +``` \ No newline at end of file diff --git a/lib/tasks/gitlab/import_export.rake b/lib/tasks/gitlab/import_export.rake new file mode 100644 index 00000000000..c2c6031db67 --- /dev/null +++ b/lib/tasks/gitlab/import_export.rake @@ -0,0 +1,13 @@ +namespace :gitlab do + namespace :import_export do + desc "GitLab | Show Import/Export version" + task version: :environment do + puts "Import/Export v#{Gitlab::ImportExport.version}" + end + + desc "GitLab | Display exported DB structure" + task data: :environment do + puts YAML.load_file(Gitlab::ImportExport.config_file)['project_tree'].to_yaml(:SortKeys => true) + end + end +end -- cgit v1.2.1 From dd94b8c75fdbed9198903b3e045138bd033a8b39 Mon Sep 17 00:00:00 2001 From: James Lopez Date: Fri, 17 Jun 2016 12:27:22 +0200 Subject: moved link to bottom of the page --- doc/workflow/import_export/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/workflow/import_export/README.md b/doc/workflow/import_export/README.md index 5349cca7172..a9a8af33553 100644 --- a/doc/workflow/import_export/README.md +++ b/doc/workflow/import_export/README.md @@ -47,7 +47,6 @@ can be generated again 1. Click on Import to begin importing and you will see your newly imported project page soon -[ce-3050]: https://gitlab.com/gitlab-org/gitlab-ce/issues/3050 ## Advanced @@ -63,4 +62,6 @@ The current list of DB tables that will get exported can be listed by using: ```bash cd /home/git/gitlab sudo -u git -H bundle exec rake gitlab:import_export:data RAILS_ENV=production -``` \ No newline at end of file +``` + +[ce-3050]: https://gitlab.com/gitlab-org/gitlab-ce/issues/3050 -- cgit v1.2.1 From 3b888d48edae11ec559ea980407ed6d0159a2d78 Mon Sep 17 00:00:00 2001 From: James Lopez Date: Fri, 17 Jun 2016 12:38:15 +0200 Subject: deleted images no longer needed --- doc/administration/img/export_1.png | Bin 84637 -> 0 bytes doc/administration/img/export_2.png | Bin 13023 -> 0 bytes doc/administration/img/export_3.png | Bin 44012 -> 0 bytes doc/administration/img/export_4.png | Bin 86500 -> 0 bytes doc/administration/img/import_1.png | Bin 43574 -> 0 bytes doc/administration/img/import_2.png | Bin 46292 -> 0 bytes doc/workflow/import_export/img/export_1.png | Bin 0 -> 84637 bytes doc/workflow/import_export/img/export_3.png | Bin 0 -> 44012 bytes doc/workflow/import_export/img/export_4.png | Bin 0 -> 86500 bytes doc/workflow/import_export/img/import_1.png | Bin 0 -> 43574 bytes doc/workflow/import_export/img/import_2.png | Bin 0 -> 46292 bytes 11 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/administration/img/export_1.png delete mode 100644 doc/administration/img/export_2.png delete mode 100644 doc/administration/img/export_3.png delete mode 100644 doc/administration/img/export_4.png delete mode 100644 doc/administration/img/import_1.png delete mode 100644 doc/administration/img/import_2.png create mode 100644 doc/workflow/import_export/img/export_1.png create mode 100644 doc/workflow/import_export/img/export_3.png create mode 100644 doc/workflow/import_export/img/export_4.png create mode 100644 doc/workflow/import_export/img/import_1.png create mode 100644 doc/workflow/import_export/img/import_2.png diff --git a/doc/administration/img/export_1.png b/doc/administration/img/export_1.png deleted file mode 100644 index 1f7bdd21b0d..00000000000 Binary files a/doc/administration/img/export_1.png and /dev/null differ diff --git a/doc/administration/img/export_2.png b/doc/administration/img/export_2.png deleted file mode 100644 index ac866d7063d..00000000000 Binary files a/doc/administration/img/export_2.png and /dev/null differ diff --git a/doc/administration/img/export_3.png b/doc/administration/img/export_3.png deleted file mode 100644 index c123f83eb8e..00000000000 Binary files a/doc/administration/img/export_3.png and /dev/null differ diff --git a/doc/administration/img/export_4.png b/doc/administration/img/export_4.png deleted file mode 100644 index 36568729abd..00000000000 Binary files a/doc/administration/img/export_4.png and /dev/null differ diff --git a/doc/administration/img/import_1.png b/doc/administration/img/import_1.png deleted file mode 100644 index b3a7f201018..00000000000 Binary files a/doc/administration/img/import_1.png and /dev/null differ diff --git a/doc/administration/img/import_2.png b/doc/administration/img/import_2.png deleted file mode 100644 index f31832af3e1..00000000000 Binary files a/doc/administration/img/import_2.png and /dev/null differ diff --git a/doc/workflow/import_export/img/export_1.png b/doc/workflow/import_export/img/export_1.png new file mode 100644 index 00000000000..1f7bdd21b0d Binary files /dev/null and b/doc/workflow/import_export/img/export_1.png differ diff --git a/doc/workflow/import_export/img/export_3.png b/doc/workflow/import_export/img/export_3.png new file mode 100644 index 00000000000..c123f83eb8e Binary files /dev/null and b/doc/workflow/import_export/img/export_3.png differ diff --git a/doc/workflow/import_export/img/export_4.png b/doc/workflow/import_export/img/export_4.png new file mode 100644 index 00000000000..36568729abd Binary files /dev/null and b/doc/workflow/import_export/img/export_4.png differ diff --git a/doc/workflow/import_export/img/import_1.png b/doc/workflow/import_export/img/import_1.png new file mode 100644 index 00000000000..b3a7f201018 Binary files /dev/null and b/doc/workflow/import_export/img/import_1.png differ diff --git a/doc/workflow/import_export/img/import_2.png b/doc/workflow/import_export/img/import_2.png new file mode 100644 index 00000000000..f31832af3e1 Binary files /dev/null and b/doc/workflow/import_export/img/import_2.png differ -- cgit v1.2.1 From acc1ea9d9f4d69c9b25c947e47c3e501e1323139 Mon Sep 17 00:00:00 2001 From: James Lopez Date: Fri, 17 Jun 2016 17:09:42 +0200 Subject: update screenshot with new changes --- doc/workflow/import_export/img/export_4.png | Bin 86500 -> 85600 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/workflow/import_export/img/export_4.png b/doc/workflow/import_export/img/export_4.png index 36568729abd..a2f7f0085c1 100644 Binary files a/doc/workflow/import_export/img/export_4.png and b/doc/workflow/import_export/img/export_4.png differ -- cgit v1.2.1 From 8b7224d91e68af906f3877a82a5be10b99624da1 Mon Sep 17 00:00:00 2001 From: James Lopez Date: Fri, 17 Jun 2016 18:05:51 +0200 Subject: updated based on feedback --- doc/workflow/import_export/README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/doc/workflow/import_export/README.md b/doc/workflow/import_export/README.md index a9a8af33553..618f9948e12 100644 --- a/doc/workflow/import_export/README.md +++ b/doc/workflow/import_export/README.md @@ -1,7 +1,7 @@ # Project import/export Existing projects running on any GitLab instance or GitLab.com can be exported -with all its related data and be moved into a new GitLab instance. +with all their related data and be moved into a new GitLab instance. >**Note:** - This feature was [introduced][ce-3050] in GitLab 8.9 @@ -53,15 +53,13 @@ can be generated again The GitLab Import/Export version can be checked by using: ```bash -cd /home/git/gitlab -sudo -u git -H bundle exec rake gitlab:import_export:version RAILS_ENV=production +sudo gitlab-rake gitlab:import_export:version ``` The current list of DB tables that will get exported can be listed by using: ```bash -cd /home/git/gitlab -sudo -u git -H bundle exec rake gitlab:import_export:data RAILS_ENV=production +sudo gitlab-rake gitlab:import_export:data ``` [ce-3050]: https://gitlab.com/gitlab-org/gitlab-ce/issues/3050 -- cgit v1.2.1 From 0c61fad74c877ff797578a3cb969c6e613b8df00 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Tue, 21 Jun 2016 19:28:08 +0200 Subject: Move to new location Due to https://gitlab.com/gitlab-org/gitlab-ce/issues/3349 --- doc/README.md | 2 +- doc/user/project/settings/img/export_1.png | Bin 0 -> 84637 bytes doc/user/project/settings/img/export_3.png | Bin 0 -> 44012 bytes doc/user/project/settings/img/export_4.png | Bin 0 -> 85600 bytes doc/user/project/settings/img/import_1.png | Bin 0 -> 43574 bytes doc/user/project/settings/img/import_2.png | Bin 0 -> 46292 bytes doc/user/project/settings/import_export.md | 65 ++++++++++++++++++++++++++++ doc/workflow/import_export/img/export_1.png | Bin 84637 -> 0 bytes doc/workflow/import_export/img/export_3.png | Bin 44012 -> 0 bytes doc/workflow/import_export/img/export_4.png | Bin 85600 -> 0 bytes doc/workflow/import_export/img/import_1.png | Bin 43574 -> 0 bytes doc/workflow/import_export/img/import_2.png | Bin 46292 -> 0 bytes 12 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 doc/user/project/settings/img/export_1.png create mode 100644 doc/user/project/settings/img/export_3.png create mode 100644 doc/user/project/settings/img/export_4.png create mode 100644 doc/user/project/settings/img/import_1.png create mode 100644 doc/user/project/settings/img/import_2.png create mode 100644 doc/user/project/settings/import_export.md delete mode 100644 doc/workflow/import_export/img/export_1.png delete mode 100644 doc/workflow/import_export/img/export_3.png delete mode 100644 doc/workflow/import_export/img/export_4.png delete mode 100644 doc/workflow/import_export/img/import_1.png delete mode 100644 doc/workflow/import_export/img/import_2.png diff --git a/doc/README.md b/doc/README.md index f51069b2c30..495a99d5d9d 100644 --- a/doc/README.md +++ b/doc/README.md @@ -7,7 +7,7 @@ - [GitLab as OAuth2 authentication service provider](integration/oauth_provider.md). It allows you to login to other applications from GitLab. - [GitLab Basics](gitlab-basics/README.md) Find step by step how to start working on your commandline and on GitLab. - [Importing to GitLab](workflow/importing/README.md). -- [Importing and exporting projects between instances](workflow/import_export/README.md). +- [Importing and exporting projects between instances](user/project/settings/import_export.md). - [Markdown](markdown/markdown.md) GitLab's advanced formatting system. - [Migrating from SVN](workflow/importing/migrating_from_svn.md) Convert a SVN repository to Git and GitLab - [Permissions](permissions/permissions.md) Learn what each role in a project (external/guest/reporter/developer/master/owner) can do. diff --git a/doc/user/project/settings/img/export_1.png b/doc/user/project/settings/img/export_1.png new file mode 100644 index 00000000000..1f7bdd21b0d Binary files /dev/null and b/doc/user/project/settings/img/export_1.png differ diff --git a/doc/user/project/settings/img/export_3.png b/doc/user/project/settings/img/export_3.png new file mode 100644 index 00000000000..c123f83eb8e Binary files /dev/null and b/doc/user/project/settings/img/export_3.png differ diff --git a/doc/user/project/settings/img/export_4.png b/doc/user/project/settings/img/export_4.png new file mode 100644 index 00000000000..a2f7f0085c1 Binary files /dev/null and b/doc/user/project/settings/img/export_4.png differ diff --git a/doc/user/project/settings/img/import_1.png b/doc/user/project/settings/img/import_1.png new file mode 100644 index 00000000000..b3a7f201018 Binary files /dev/null and b/doc/user/project/settings/img/import_1.png differ diff --git a/doc/user/project/settings/img/import_2.png b/doc/user/project/settings/img/import_2.png new file mode 100644 index 00000000000..f31832af3e1 Binary files /dev/null and b/doc/user/project/settings/img/import_2.png differ diff --git a/doc/user/project/settings/import_export.md b/doc/user/project/settings/import_export.md new file mode 100644 index 00000000000..618f9948e12 --- /dev/null +++ b/doc/user/project/settings/import_export.md @@ -0,0 +1,65 @@ +# Project import/export + +Existing projects running on any GitLab instance or GitLab.com can be exported +with all their related data and be moved into a new GitLab instance. + +>**Note:** + - This feature was [introduced][ce-3050] in GitLab 8.9 + - Importing will not be possible if the import instance version is lower + than that of the exporter. + +## Exported contents + +- The following items will be exported: + - Project and wiki repositories + - Project uploads + - Project configuration including web hooks and services + - Issues with comments, merge requests with diffs and comments, labels, milestones, snippets, + and other project entities +- The following items will NOT be exported: + - Build traces and artifacts + - LFS objects + +## Exporting a project and its data + +1. Go to the project settings page and find the Export button + + ![export_1](./img/export_1.png) + +1. Once the export is generated, you should receive an e-mail with a link to download the file + + ![export_3](./img/export_3.png) + +1. You can come back to project settings and download the file from there, or delete it so it +can be generated again + + ![export_4](./img/export_4.png) + +## Importing the project + +1. The new GitLab project import feature is at the far right of the import options on New Project + + ![import_1](./img/import_1.png) + +1. After choosing a namespace or path, you can then select the file exported previously + + ![import_2](./img/import_2.png) + +1. Click on Import to begin importing and you will see your newly imported project page soon + + +## Advanced + +The GitLab Import/Export version can be checked by using: + +```bash +sudo gitlab-rake gitlab:import_export:version +``` + +The current list of DB tables that will get exported can be listed by using: + +```bash +sudo gitlab-rake gitlab:import_export:data +``` + +[ce-3050]: https://gitlab.com/gitlab-org/gitlab-ce/issues/3050 diff --git a/doc/workflow/import_export/img/export_1.png b/doc/workflow/import_export/img/export_1.png deleted file mode 100644 index 1f7bdd21b0d..00000000000 Binary files a/doc/workflow/import_export/img/export_1.png and /dev/null differ diff --git a/doc/workflow/import_export/img/export_3.png b/doc/workflow/import_export/img/export_3.png deleted file mode 100644 index c123f83eb8e..00000000000 Binary files a/doc/workflow/import_export/img/export_3.png and /dev/null differ diff --git a/doc/workflow/import_export/img/export_4.png b/doc/workflow/import_export/img/export_4.png deleted file mode 100644 index a2f7f0085c1..00000000000 Binary files a/doc/workflow/import_export/img/export_4.png and /dev/null differ diff --git a/doc/workflow/import_export/img/import_1.png b/doc/workflow/import_export/img/import_1.png deleted file mode 100644 index b3a7f201018..00000000000 Binary files a/doc/workflow/import_export/img/import_1.png and /dev/null differ diff --git a/doc/workflow/import_export/img/import_2.png b/doc/workflow/import_export/img/import_2.png deleted file mode 100644 index f31832af3e1..00000000000 Binary files a/doc/workflow/import_export/img/import_2.png and /dev/null differ -- cgit v1.2.1 From ceeba75c7650cebc582fc3c04c42d2665a47e511 Mon Sep 17 00:00:00 2001 From: Yorick Peterse Date: Mon, 20 Jun 2016 11:53:08 +0200 Subject: Handle external issues in IssueReferenceFilter In the past this class would use Project#get_issue to retrieve an issue by its ID. This method would automatically determine whether to return an Issue or ExternalIssue. This commit changes IssueReferenceFilter to handle external issues again and in a somewhat more explicit manner than before. Fixes gitlab-org/gitlab-ce#18827 --- lib/banzai/filter/issue_reference_filter.rb | 10 ++++-- .../banzai/filter/issue_reference_filter_spec.rb | 36 ++++++++++++++++++++++ 2 files changed, 43 insertions(+), 3 deletions(-) diff --git a/lib/banzai/filter/issue_reference_filter.rb b/lib/banzai/filter/issue_reference_filter.rb index 2614261f9eb..5351272f42d 100644 --- a/lib/banzai/filter/issue_reference_filter.rb +++ b/lib/banzai/filter/issue_reference_filter.rb @@ -31,10 +31,14 @@ module Banzai projects_per_reference.each do |path, project| issue_ids = references_per_project[path] - next unless project.default_issues_tracker? + if project.default_issues_tracker? + issues = project.issues.where(iid: issue_ids.to_a) + else + issues = issue_ids.map { |id| ExternalIssue.new(id, project) } + end - project.issues.where(iid: issue_ids.to_a).each do |issue| - hash[project][issue.iid] = issue + issues.each do |issue| + hash[project][issue.iid.to_i] = issue end end diff --git a/spec/lib/banzai/filter/issue_reference_filter_spec.rb b/spec/lib/banzai/filter/issue_reference_filter_spec.rb index 5b63c946114..8d6ce114aa9 100644 --- a/spec/lib/banzai/filter/issue_reference_filter_spec.rb +++ b/spec/lib/banzai/filter/issue_reference_filter_spec.rb @@ -198,4 +198,40 @@ describe Banzai::Filter::IssueReferenceFilter, lib: true do expect(doc.to_html).to match(/\(Reference<\/a>\.\)/) end end + + describe '#issues_per_Project' do + context 'using an internal issue tracker' do + it 'returns a Hash containing the issues per project' do + doc = Nokogiri::HTML.fragment('') + filter = described_class.new(doc, project: project) + + expect(filter).to receive(:projects_per_reference). + and_return({ project.path_with_namespace => project }) + + expect(filter).to receive(:references_per_project). + and_return({ project.path_with_namespace => Set.new([issue.iid]) }) + + expect(filter.issues_per_project). + to eq({ project => { issue.iid => issue } }) + end + end + + context 'using an external issue tracker' do + it 'returns a Hash containing the issues per project' do + doc = Nokogiri::HTML.fragment('') + filter = described_class.new(doc, project: project) + + expect(project).to receive(:default_issues_tracker?).and_return(false) + + expect(filter).to receive(:projects_per_reference). + and_return({ project.path_with_namespace => project }) + + expect(filter).to receive(:references_per_project). + and_return({ project.path_with_namespace => Set.new([1]) }) + + expect(filter.issues_per_project[project][1]). + to be_an_instance_of(ExternalIssue) + end + end + end end -- cgit v1.2.1 From b2732f3af104fe31aed126505a5b7e4fa1a62f71 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Tue, 21 Jun 2016 20:07:52 +0200 Subject: Refactor project import/export documentation --- .../raketasks/project_import_export.md | 28 ++++++++ .../project/settings/img/settings_edit_button.png | Bin 0 -> 19392 bytes doc/user/project/settings/import_export.md | 76 ++++++++++----------- 3 files changed, 66 insertions(+), 38 deletions(-) create mode 100644 doc/administration/raketasks/project_import_export.md create mode 100644 doc/user/project/settings/img/settings_edit_button.png diff --git a/doc/administration/raketasks/project_import_export.md b/doc/administration/raketasks/project_import_export.md new file mode 100644 index 00000000000..e5cb0308cbb --- /dev/null +++ b/doc/administration/raketasks/project_import_export.md @@ -0,0 +1,28 @@ +# Project import/export + +>**Note:** + - This feature was [introduced][ce-3050] in GitLab 8.9 + - Importing will not be possible if the import instance version is lower + than that of the exporter. + +The GitLab Import/Export version can be checked by using: + +```bash +# Omnibus installations +sudo gitlab-rake gitlab:import_export:version + +# Installations from source +bundle exec rake gitlab:import_export:version RAILS_ENV=production +``` + +The current list of DB tables that will get exported can be listed by using: + +```bash +# Omnibus installations +sudo gitlab-rake gitlab:import_export:data + +# Installations from source +bundle exec rake gitlab:import_export:data RAILS_ENV=production +``` + +[ce-3050]: https://gitlab.com/gitlab-org/gitlab-ce/issues/3050 diff --git a/doc/user/project/settings/img/settings_edit_button.png b/doc/user/project/settings/img/settings_edit_button.png new file mode 100644 index 00000000000..3c0cee536de Binary files /dev/null and b/doc/user/project/settings/img/settings_edit_button.png differ diff --git a/doc/user/project/settings/import_export.md b/doc/user/project/settings/import_export.md index 618f9948e12..7cc31e9dc4e 100644 --- a/doc/user/project/settings/import_export.md +++ b/doc/user/project/settings/import_export.md @@ -1,65 +1,65 @@ # Project import/export +>**Note:** + - This feature was [introduced][ce-3050] in GitLab 8.9 + - Importing will not be possible if the import instance version is lower + than that of the exporter. + - You can find some useful raketasks if you are an administrator in the + [project_import_export](../../../administration/raketasks/project_import_export.md) + raketask. + Existing projects running on any GitLab instance or GitLab.com can be exported with all their related data and be moved into a new GitLab instance. ->**Note:** - - This feature was [introduced][ce-3050] in GitLab 8.9 - - Importing will not be possible if the import instance version is lower - than that of the exporter. - ## Exported contents - -- The following items will be exported: - - Project and wiki repositories - - Project uploads - - Project configuration including web hooks and services - - Issues with comments, merge requests with diffs and comments, labels, milestones, snippets, - and other project entities -- The following items will NOT be exported: - - Build traces and artifacts - - LFS objects -## Exporting a project and its data +The following items will be exported: -1. Go to the project settings page and find the Export button +- Project and wiki repositories +- Project uploads +- Project configuration including web hooks and services +- Issues with comments, merge requests with diffs and comments, labels, milestones, snippets, + and other project entities - ![export_1](./img/export_1.png) +The following items will NOT be exported: -1. Once the export is generated, you should receive an e-mail with a link to download the file +- Build traces and artifacts +- LFS objects - ![export_3](./img/export_3.png) +## Exporting a project and its data -1. You can come back to project settings and download the file from there, or delete it so it -can be generated again +1. Go to the project settings page by clicking on **Edit Project** - ![export_4](./img/export_4.png) + ![Project settings button](img/settings_edit_button.png) -## Importing the project +1. Scroll down to find the **Export project** button -1. The new GitLab project import feature is at the far right of the import options on New Project + ![export_1](./img/export_1.png) - ![import_1](./img/import_1.png) +1. Once the export is generated, you should receive an e-mail with a link to + download the file -1. After choosing a namespace or path, you can then select the file exported previously + ![export_3](./img/export_3.png) - ![import_2](./img/import_2.png) +1. Alternatively, you can come back to the project settings and download the + file from there, or generate a new export -1. Click on Import to begin importing and you will see your newly imported project page soon + ![export_4](./img/export_4.png) +## Importing the project -## Advanced +1. The new GitLab project import feature is at the far right of the import + options when creating a New Project. Make sure you are in the right namespace + and you have entered a project name. Click on **GitLab export** -The GitLab Import/Export version can be checked by using: + ![import_1](./img/import_1.png) -```bash -sudo gitlab-rake gitlab:import_export:version -``` +1. You can see where the project will be imported to. You can now select file + exported previously -The current list of DB tables that will get exported can be listed by using: + ![import_2](./img/import_2.png) -```bash -sudo gitlab-rake gitlab:import_export:data -``` +1. Click on **Import project** to begin importing. Your newly imported project + page will appear soon [ce-3050]: https://gitlab.com/gitlab-org/gitlab-ce/issues/3050 -- cgit v1.2.1 From a6faaace0503c27884808740e002c201b8893375 Mon Sep 17 00:00:00 2001 From: Connor Shea Date: Tue, 21 Jun 2016 14:10:00 -0600 Subject: Expand on Award Emoji documentation, update/add screenshots. [ci skip] --- doc/workflow/award_emoji.md | 45 ++++++++++++++++------- doc/workflow/award_emoji.png | Bin 6620 -> 16926 bytes doc/workflow/img/award_emoji_comment_awarded.png | Bin 0 -> 64317 bytes doc/workflow/img/award_emoji_comment_picker.png | Bin 0 -> 250861 bytes 4 files changed, 31 insertions(+), 14 deletions(-) create mode 100644 doc/workflow/img/award_emoji_comment_awarded.png create mode 100644 doc/workflow/img/award_emoji_comment_picker.png diff --git a/doc/workflow/award_emoji.md b/doc/workflow/award_emoji.md index 70b35c58be6..e6f8b792707 100644 --- a/doc/workflow/award_emoji.md +++ b/doc/workflow/award_emoji.md @@ -1,28 +1,26 @@ -# Award emojis +# Award emoji >**Note:** This feature was [introduced][1825] in GitLab 8.2. When you're collaborating online, you get fewer opportunities for high-fives -and thumbs-ups. In order to make virtual celebrations easier, you can now vote -on issues and merge requests using emoji! +and thumbs-ups. Emoji can be awarded to issues and merge requests, making +virtual celebrations easier. ![Award emoji](img/award_emoji_select.png) -This makes it much easier to give and receive feedback, without a long comment -thread. Any comment that contains only the thumbs up or down emojis is -converted to a vote and depicted in the emoji area. - -You can then use that functionality to sort issues and merge requests based on -popularity. +Award emoji make it much easier to give and receive feedback without a long +comment thread. Comments that are only emoji will automatically become +award emoji. ## Sort issues and merge requests on vote count >**Note:** This feature was [introduced][2871] in GitLab 8.5. -You can quickly sort the issues or merge requests by the number of votes they -have received. The sort option can be found in the right dropdown menu. +You can quickly sort issues and merge requests by the number of votes they +have received. The sort options can be found in the dropdown menu as "Most +popular" and "Least popular". ![Votes sort options](img/award_emoji_votes_sort_options.png) @@ -40,9 +38,28 @@ Sort by least popular issues/merge requests. --- -The number of upvotes and downvotes is not summed up. That means that an issue -with 18 upvotes and 5 downvotes is considered more popular than an issue with -17 upvotes and no downvotes. +The total number of votes is not summed up. An issue with 18 upvotes and 5 +downvotes is considered more popular than an issue with 17 upvotes and no +downvotes. + +## Award emoji for comments + +>**Note:** +This feature was [introduced][4291] in GitLab 8.9. + +Award emoji can also be applied to individual comments when you want to +celebrate an accomplishment or agree with an opinion. + +To add an award emoji, click the smile in the top right of the comment and pick +an emoji from the dropdown. + +![Picking an emoji for a comment](img/award_emoji_comment_picker.png) + +![An award emoji has been applied to a comment](img/award_emoji_comment_awarded.png) + +If you want to remove an award emoji, just click the emoji again and the vote +will be removed. [2871]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/2781 [1825]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/1825 +[4291]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4291 diff --git a/doc/workflow/award_emoji.png b/doc/workflow/award_emoji.png index fb26ee04393..3408ed95841 100644 Binary files a/doc/workflow/award_emoji.png and b/doc/workflow/award_emoji.png differ diff --git a/doc/workflow/img/award_emoji_comment_awarded.png b/doc/workflow/img/award_emoji_comment_awarded.png new file mode 100644 index 00000000000..67697831869 Binary files /dev/null and b/doc/workflow/img/award_emoji_comment_awarded.png differ diff --git a/doc/workflow/img/award_emoji_comment_picker.png b/doc/workflow/img/award_emoji_comment_picker.png new file mode 100644 index 00000000000..d9c3faecdca Binary files /dev/null and b/doc/workflow/img/award_emoji_comment_picker.png differ -- cgit v1.2.1 From ea9c0277abf2e37811acc946ff85d8267d475253 Mon Sep 17 00:00:00 2001 From: Connor Shea Date: Tue, 21 Jun 2016 14:55:36 -0600 Subject: Update Todos documentation and screenshots to include new functionality. Add information about manually creating Todos from issue and merge request sidebars. [ci skip] --- doc/workflow/img/todo_list_item.png | Bin 0 -> 58912 bytes doc/workflow/img/todos_add_todo_sidebar.png | Bin 0 -> 120265 bytes doc/workflow/img/todos_icon.png | Bin 7394 -> 6320 bytes doc/workflow/img/todos_mark_done_sidebar.png | Bin 0 -> 121303 bytes doc/workflow/todos.md | 60 +++++++++++++++++---------- 5 files changed, 39 insertions(+), 21 deletions(-) create mode 100644 doc/workflow/img/todo_list_item.png create mode 100644 doc/workflow/img/todos_add_todo_sidebar.png create mode 100644 doc/workflow/img/todos_mark_done_sidebar.png diff --git a/doc/workflow/img/todo_list_item.png b/doc/workflow/img/todo_list_item.png new file mode 100644 index 00000000000..884ba1d22a3 Binary files /dev/null and b/doc/workflow/img/todo_list_item.png differ diff --git a/doc/workflow/img/todos_add_todo_sidebar.png b/doc/workflow/img/todos_add_todo_sidebar.png new file mode 100644 index 00000000000..126ecc2c82f Binary files /dev/null and b/doc/workflow/img/todos_add_todo_sidebar.png differ diff --git a/doc/workflow/img/todos_icon.png b/doc/workflow/img/todos_icon.png index 879b3b51c21..a63bad0c258 100644 Binary files a/doc/workflow/img/todos_icon.png and b/doc/workflow/img/todos_icon.png differ diff --git a/doc/workflow/img/todos_mark_done_sidebar.png b/doc/workflow/img/todos_mark_done_sidebar.png new file mode 100644 index 00000000000..f449f977dd6 Binary files /dev/null and b/doc/workflow/img/todos_mark_done_sidebar.png differ diff --git a/doc/workflow/todos.md b/doc/workflow/todos.md index 5f440fdafdd..3ed6551c009 100644 --- a/doc/workflow/todos.md +++ b/doc/workflow/todos.md @@ -1,4 +1,4 @@ -# GitLab ToDos +# GitLab Todos >**Note:** This feature was [introduced][ce-2817] in GitLab 8.5. @@ -14,8 +14,9 @@ in a simple dashboard. --- -You can access quickly your Todos dashboard by clicking the round gray icon -next to the search bar in the upper right corner. +You can quickly access the Todos dashboard using the bell icon next to the +search bar in the upper right corner. The number in blue is the number of Todos +you still have open. ![Todos icon](img/todos_icon.png) @@ -29,45 +30,62 @@ A Todo appears in your Todos dashboard when: >**Note:** Commenting on a commit will _not_ trigger a Todo. -## How a Todo is marked as Done +### Manually creating a Todo + +You can also add an issue or merge request to your Todos dashboard by clicking +the "Add Todo" button in the issue or merge request sidebar. + +![Adding a Todo from the issuable sidebar](img/todos_add_todo_sidebar.png) + +## Marking a Todo as done Any action to the corresponding issue or merge request will mark your Todo as -**Done**. This action can include: +**Done**. Actions that dismiss Todos include: - changing the assignee - changing the milestone - adding/removing a label - commenting on the issue -In case where you think no action is needed, you can manually mark the todo as -done by clicking the corresponding **Done** button, and it will disappear from -your Todos list. If you want to mark all your Todos as done, just click on the -**Mark all as done** button. - --- -In order for a Todo to be marked as done, the action must be coming from you. -So, if you close the related issue or merge the merge request yourself, and you -had a Todo for that, it will automatically get marked as done. On the other -hand, if someone else closes, merges or takes action on the issue or merge -request, your Todo will remain pending. This makes sense because you may need -to give attention to an issue even if it has been resolved. +Todos are personal, and they're only marked as done if the action is coming from +you. If you close the issue or merge request, your Todo will automatically +be marked as done. + +If someone else closes, merges, or takes action on the issue or merge +request, your Todo will remain pending. This way, an issue or merge request +that was closed by another user There is just one Todo per issue or merge request, so mentioning a user a hundred times in an issue will only trigger one Todo. +--- + +If no action is needed, you can manually mark the Todo as done by clicking the +corresponding **Done** button, and it will disappear from your Todo list. + +![A Todo in the Todos dashboard](img/todo_list_item.png) + +A Todo can also be marked as done from the issue or merge request sidebar using +the "Mark Done" button. + +![Mark Done from the issuable sidebar](img/todos_mark_done_sidebar.png) + +You can mark all your Todos as done at once by clicking on the **Mark all as +done** button. + ## Filtering your Todos -In general, there are four kinds of filters you can use on your Todos -dashboard: +There are four kinds of filters you can use on your Todos dashboard. -| Filter | Description | -| ------ | ----------- | +| Filter | Description | +| ------- | ----------- | | Project | Filter by project | | Author | Filter by the author that triggered the Todo | | Type | Filter by issue or merge request | | Action | Filter by the action that triggered the Todo (Assigned or Mentioned)| -You can choose more than one filters at the same time. +You can also filter by more than one of these at the same time. [ce-2817]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/2817 -- cgit v1.2.1 From 94ac45cf0ec9ec6736c4c24e8dd693ab81fe3f22 Mon Sep 17 00:00:00 2001 From: Annabel Dunstone Date: Tue, 21 Jun 2016 17:27:34 -0500 Subject: Hide nav arrows by default; remove settings dropdown btn at larger breakpoint; remove unneccessary CSS --- app/assets/javascripts/layout_nav.js.coffee | 7 +++---- app/assets/stylesheets/framework/nav.scss | 16 +++++++--------- app/views/shared/_event_filter.html.haml | 4 ---- 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/app/assets/javascripts/layout_nav.js.coffee b/app/assets/javascripts/layout_nav.js.coffee index f8f0aea427e..cad095daae1 100644 --- a/app/assets/javascripts/layout_nav.js.coffee +++ b/app/assets/javascripts/layout_nav.js.coffee @@ -4,10 +4,9 @@ hideEndFade = ($scrollingTabs) -> $this .find('.fade-right') - .toggleClass('end-scroll', $this.width() is $this.prop('scrollWidth')) + .toggleClass('scrolling', $this.width() < $this.prop('scrollWidth')) $ -> - $('.fade-left').addClass('end-scroll') hideEndFade($('.scrolling-tabs')) @@ -21,5 +20,5 @@ $ -> currentPosition = $this.scrollLeft() maxPosition = $this.prop('scrollWidth') - $this.outerWidth() - $this.find('.fade-left').toggleClass('end-scroll', currentPosition is 0) - $this.find('.fade-right').toggleClass('end-scroll', currentPosition is maxPosition) + $this.find('.fade-left').toggleClass('scrolling', currentPosition > 0) + $this.find('.fade-right').toggleClass('scrolling', currentPosition < maxPosition - 1) diff --git a/app/assets/stylesheets/framework/nav.scss b/app/assets/stylesheets/framework/nav.scss index 694f09c0464..42165f13887 100644 --- a/app/assets/stylesheets/framework/nav.scss +++ b/app/assets/stylesheets/framework/nav.scss @@ -1,6 +1,6 @@ @mixin fade($gradient-direction, $rgba, $gradient-color) { - visibility: visible; - opacity: 1; + visibility: hidden; + opacity: 0; z-index: 2; position: absolute; bottom: 12px; @@ -13,9 +13,9 @@ background: -moz-linear-gradient($gradient-direction, $rgba, $gradient-color 45%); background: linear-gradient($gradient-direction, $rgba, $gradient-color 45%); - &.end-scroll { - visibility: hidden; - opacity: 0; + &.scrolling { + visibility: visible; + opacity: 1; transition-duration: .3s; } @@ -276,7 +276,7 @@ float: right; padding: 7px 0 0; - @media (max-width: $screen-xs-max) { + @media (max-width: $screen-sm-max) { display: none; } @@ -381,9 +381,7 @@ .nav-control { .fade-right { - @media (min-width: $screen-xs-max) { - right: 68px; - } + @media (max-width: $screen-xs-min) { right: 0; } diff --git a/app/views/shared/_event_filter.html.haml b/app/views/shared/_event_filter.html.haml index aa18e6f236f..8824bcc158e 100644 --- a/app/views/shared/_event_filter.html.haml +++ b/app/views/shared/_event_filter.html.haml @@ -1,9 +1,5 @@ %ul.nav-links.event-filter.scrolling-tabs - %li.fade-left - = icon('arrow-left') = event_filter_link EventFilter.push, 'Push events' = event_filter_link EventFilter.merged, 'Merge events' = event_filter_link EventFilter.comments, 'Comments' = event_filter_link EventFilter.team, 'Team' - %li.fade-right - = icon('arrow-right') -- cgit v1.2.1 From 611bc0090a3bf5fff2f0fdab23299761413d6916 Mon Sep 17 00:00:00 2001 From: "Luke \"Jared\" Bennett" Date: Wed, 22 Jun 2016 00:31:53 +0100 Subject: Added bottom padding to label color suggestion link --- app/assets/stylesheets/pages/labels.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/app/assets/stylesheets/pages/labels.scss b/app/assets/stylesheets/pages/labels.scss index f5f67e2cd84..47bfd144930 100644 --- a/app/assets/stylesheets/pages/labels.scss +++ b/app/assets/stylesheets/pages/labels.scss @@ -6,6 +6,7 @@ height: 30px; display: inline-block; margin-right: 10px; + margin-bottom: 10px; } &.suggest-colors-dropdown { -- cgit v1.2.1 From 6eaf34685ef6a4f2d43efce8529c1434e16a28e2 Mon Sep 17 00:00:00 2001 From: James Lopez Date: Wed, 22 Jun 2016 06:06:50 +0000 Subject: Add note about settings --- doc/administration/raketasks/project_import_export.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/administration/raketasks/project_import_export.md b/doc/administration/raketasks/project_import_export.md index e5cb0308cbb..f64f10d3260 100644 --- a/doc/administration/raketasks/project_import_export.md +++ b/doc/administration/raketasks/project_import_export.md @@ -4,6 +4,8 @@ - This feature was [introduced][ce-3050] in GitLab 8.9 - Importing will not be possible if the import instance version is lower than that of the exporter. + - For existing installations, the project import option has to be enabled in + application settings (admin area). The GitLab Import/Export version can be checked by using: -- cgit v1.2.1 From c0237a824b714dde69c4697d244a33539f6185d3 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Wed, 22 Jun 2016 10:28:01 +0200 Subject: Remove old doc --- doc/workflow/import_export/README.md | 65 ------------------------------------ 1 file changed, 65 deletions(-) delete mode 100644 doc/workflow/import_export/README.md diff --git a/doc/workflow/import_export/README.md b/doc/workflow/import_export/README.md deleted file mode 100644 index 618f9948e12..00000000000 --- a/doc/workflow/import_export/README.md +++ /dev/null @@ -1,65 +0,0 @@ -# Project import/export - -Existing projects running on any GitLab instance or GitLab.com can be exported -with all their related data and be moved into a new GitLab instance. - ->**Note:** - - This feature was [introduced][ce-3050] in GitLab 8.9 - - Importing will not be possible if the import instance version is lower - than that of the exporter. - -## Exported contents - -- The following items will be exported: - - Project and wiki repositories - - Project uploads - - Project configuration including web hooks and services - - Issues with comments, merge requests with diffs and comments, labels, milestones, snippets, - and other project entities -- The following items will NOT be exported: - - Build traces and artifacts - - LFS objects - -## Exporting a project and its data - -1. Go to the project settings page and find the Export button - - ![export_1](./img/export_1.png) - -1. Once the export is generated, you should receive an e-mail with a link to download the file - - ![export_3](./img/export_3.png) - -1. You can come back to project settings and download the file from there, or delete it so it -can be generated again - - ![export_4](./img/export_4.png) - -## Importing the project - -1. The new GitLab project import feature is at the far right of the import options on New Project - - ![import_1](./img/import_1.png) - -1. After choosing a namespace or path, you can then select the file exported previously - - ![import_2](./img/import_2.png) - -1. Click on Import to begin importing and you will see your newly imported project page soon - - -## Advanced - -The GitLab Import/Export version can be checked by using: - -```bash -sudo gitlab-rake gitlab:import_export:version -``` - -The current list of DB tables that will get exported can be listed by using: - -```bash -sudo gitlab-rake gitlab:import_export:data -``` - -[ce-3050]: https://gitlab.com/gitlab-org/gitlab-ce/issues/3050 -- cgit v1.2.1 From e023e66c9f60201e7454bd11c7094f12340f1c47 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Wed, 22 Jun 2016 11:05:34 +0200 Subject: Add note about enabling import/export in existing installations --- doc/administration/raketasks/project_import_export.md | 2 +- doc/user/project/settings/import_export.md | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/administration/raketasks/project_import_export.md b/doc/administration/raketasks/project_import_export.md index f64f10d3260..c19ad7bfe34 100644 --- a/doc/administration/raketasks/project_import_export.md +++ b/doc/administration/raketasks/project_import_export.md @@ -5,7 +5,7 @@ - Importing will not be possible if the import instance version is lower than that of the exporter. - For existing installations, the project import option has to be enabled in - application settings (admin area). + application settings (`/admin/application_settings`) under 'Import sources'. The GitLab Import/Export version can be checked by using: diff --git a/doc/user/project/settings/import_export.md b/doc/user/project/settings/import_export.md index 7cc31e9dc4e..fa82d49172a 100644 --- a/doc/user/project/settings/import_export.md +++ b/doc/user/project/settings/import_export.md @@ -4,8 +4,12 @@ - This feature was [introduced][ce-3050] in GitLab 8.9 - Importing will not be possible if the import instance version is lower than that of the exporter. + - For existing installations, the project import option has to be enabled in + application settings (`/admin/application_settings`) under 'Import sources'. + Ask your administrator if you don't see the **GitLab export** button when + creating a new project. - You can find some useful raketasks if you are an administrator in the - [project_import_export](../../../administration/raketasks/project_import_export.md) + [import_export](../../../administration/raketasks/project_import_export.md) raketask. Existing projects running on any GitLab instance or GitLab.com can be exported -- cgit v1.2.1 From 10016715c1eb5b2eea7b5fbadcd72dc4104f6f49 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Wed, 22 Jun 2016 11:15:28 +0200 Subject: Add colons in item lists --- doc/user/project/settings/import_export.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/doc/user/project/settings/import_export.md b/doc/user/project/settings/import_export.md index fa82d49172a..382f6e699db 100644 --- a/doc/user/project/settings/import_export.md +++ b/doc/user/project/settings/import_export.md @@ -32,21 +32,22 @@ The following items will NOT be exported: ## Exporting a project and its data -1. Go to the project settings page by clicking on **Edit Project** +1. Go to the project settings page by clicking on **Edit Project**: ![Project settings button](img/settings_edit_button.png) -1. Scroll down to find the **Export project** button +1. Scroll down to find the **Export project** button: ![export_1](./img/export_1.png) 1. Once the export is generated, you should receive an e-mail with a link to - download the file + download the file: ![export_3](./img/export_3.png) 1. Alternatively, you can come back to the project settings and download the - file from there, or generate a new export + file from there, or generate a new export. Once the file available, the page + should show the **Download export** button: ![export_4](./img/export_4.png) @@ -54,16 +55,16 @@ The following items will NOT be exported: 1. The new GitLab project import feature is at the far right of the import options when creating a New Project. Make sure you are in the right namespace - and you have entered a project name. Click on **GitLab export** + and you have entered a project name. Click on **GitLab export**: ![import_1](./img/import_1.png) 1. You can see where the project will be imported to. You can now select file - exported previously + exported previously: ![import_2](./img/import_2.png) 1. Click on **Import project** to begin importing. Your newly imported project - page will appear soon + page will appear soon: [ce-3050]: https://gitlab.com/gitlab-org/gitlab-ce/issues/3050 -- cgit v1.2.1 From a41b468816e499b96d9dab8f3cc3a41a11bd9ac5 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Wed, 22 Jun 2016 11:31:07 +0200 Subject: Add note about the shared directory --- doc/administration/raketasks/project_import_export.md | 3 +++ doc/user/project/settings/import_export.md | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/administration/raketasks/project_import_export.md b/doc/administration/raketasks/project_import_export.md index c19ad7bfe34..c212059b9d5 100644 --- a/doc/administration/raketasks/project_import_export.md +++ b/doc/administration/raketasks/project_import_export.md @@ -6,6 +6,8 @@ than that of the exporter. - For existing installations, the project import option has to be enabled in application settings (`/admin/application_settings`) under 'Import sources'. + - The exports are stored in a temporary [shared directory][tmp] and are deleted + every 24 hours by a specific worker. The GitLab Import/Export version can be checked by using: @@ -28,3 +30,4 @@ bundle exec rake gitlab:import_export:data RAILS_ENV=production ``` [ce-3050]: https://gitlab.com/gitlab-org/gitlab-ce/issues/3050 +[tmp]: ../../development/shared_files.md diff --git a/doc/user/project/settings/import_export.md b/doc/user/project/settings/import_export.md index 382f6e699db..a460ff453db 100644 --- a/doc/user/project/settings/import_export.md +++ b/doc/user/project/settings/import_export.md @@ -1,6 +1,6 @@ # Project import/export ->**Note:** +>**Notes:** - This feature was [introduced][ce-3050] in GitLab 8.9 - Importing will not be possible if the import instance version is lower than that of the exporter. @@ -11,6 +11,8 @@ - You can find some useful raketasks if you are an administrator in the [import_export](../../../administration/raketasks/project_import_export.md) raketask. + - The exports are stored in a temporary [shared directory][tmp] and are deleted + every 24 hours by a specific worker. Existing projects running on any GitLab instance or GitLab.com can be exported with all their related data and be moved into a new GitLab instance. @@ -65,6 +67,7 @@ The following items will NOT be exported: ![import_2](./img/import_2.png) 1. Click on **Import project** to begin importing. Your newly imported project - page will appear soon: + page will appear soon. [ce-3050]: https://gitlab.com/gitlab-org/gitlab-ce/issues/3050 +[tmp]: ../../../development/shared_files.md -- cgit v1.2.1 From 51b51de77d9507e41467985bb34a6ee69ee99f3c Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Wed, 22 Jun 2016 11:41:50 +0200 Subject: Give images proper names --- doc/user/project/settings/img/export_1.png | Bin 84637 -> 0 bytes doc/user/project/settings/img/export_3.png | Bin 44012 -> 0 bytes doc/user/project/settings/img/export_4.png | Bin 85600 -> 0 bytes doc/user/project/settings/img/import_1.png | Bin 43574 -> 0 bytes doc/user/project/settings/img/import_2.png | Bin 46292 -> 0 bytes .../settings/img/import_export_download_export.png | Bin 0 -> 85600 bytes .../settings/img/import_export_export_button.png | Bin 0 -> 84637 bytes .../project/settings/img/import_export_mail_link.png | Bin 0 -> 44012 bytes .../project/settings/img/import_export_new_project.png | Bin 0 -> 43574 bytes .../project/settings/img/import_export_select_file.png | Bin 0 -> 46292 bytes doc/user/project/settings/import_export.md | 10 +++++----- 11 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 doc/user/project/settings/img/export_1.png delete mode 100644 doc/user/project/settings/img/export_3.png delete mode 100644 doc/user/project/settings/img/export_4.png delete mode 100644 doc/user/project/settings/img/import_1.png delete mode 100644 doc/user/project/settings/img/import_2.png create mode 100644 doc/user/project/settings/img/import_export_download_export.png create mode 100644 doc/user/project/settings/img/import_export_export_button.png create mode 100644 doc/user/project/settings/img/import_export_mail_link.png create mode 100644 doc/user/project/settings/img/import_export_new_project.png create mode 100644 doc/user/project/settings/img/import_export_select_file.png diff --git a/doc/user/project/settings/img/export_1.png b/doc/user/project/settings/img/export_1.png deleted file mode 100644 index 1f7bdd21b0d..00000000000 Binary files a/doc/user/project/settings/img/export_1.png and /dev/null differ diff --git a/doc/user/project/settings/img/export_3.png b/doc/user/project/settings/img/export_3.png deleted file mode 100644 index c123f83eb8e..00000000000 Binary files a/doc/user/project/settings/img/export_3.png and /dev/null differ diff --git a/doc/user/project/settings/img/export_4.png b/doc/user/project/settings/img/export_4.png deleted file mode 100644 index a2f7f0085c1..00000000000 Binary files a/doc/user/project/settings/img/export_4.png and /dev/null differ diff --git a/doc/user/project/settings/img/import_1.png b/doc/user/project/settings/img/import_1.png deleted file mode 100644 index b3a7f201018..00000000000 Binary files a/doc/user/project/settings/img/import_1.png and /dev/null differ diff --git a/doc/user/project/settings/img/import_2.png b/doc/user/project/settings/img/import_2.png deleted file mode 100644 index f31832af3e1..00000000000 Binary files a/doc/user/project/settings/img/import_2.png and /dev/null differ diff --git a/doc/user/project/settings/img/import_export_download_export.png b/doc/user/project/settings/img/import_export_download_export.png new file mode 100644 index 00000000000..a2f7f0085c1 Binary files /dev/null and b/doc/user/project/settings/img/import_export_download_export.png differ diff --git a/doc/user/project/settings/img/import_export_export_button.png b/doc/user/project/settings/img/import_export_export_button.png new file mode 100644 index 00000000000..1f7bdd21b0d Binary files /dev/null and b/doc/user/project/settings/img/import_export_export_button.png differ diff --git a/doc/user/project/settings/img/import_export_mail_link.png b/doc/user/project/settings/img/import_export_mail_link.png new file mode 100644 index 00000000000..c123f83eb8e Binary files /dev/null and b/doc/user/project/settings/img/import_export_mail_link.png differ diff --git a/doc/user/project/settings/img/import_export_new_project.png b/doc/user/project/settings/img/import_export_new_project.png new file mode 100644 index 00000000000..b3a7f201018 Binary files /dev/null and b/doc/user/project/settings/img/import_export_new_project.png differ diff --git a/doc/user/project/settings/img/import_export_select_file.png b/doc/user/project/settings/img/import_export_select_file.png new file mode 100644 index 00000000000..f31832af3e1 Binary files /dev/null and b/doc/user/project/settings/img/import_export_select_file.png differ diff --git a/doc/user/project/settings/import_export.md b/doc/user/project/settings/import_export.md index a460ff453db..38e9786123d 100644 --- a/doc/user/project/settings/import_export.md +++ b/doc/user/project/settings/import_export.md @@ -40,18 +40,18 @@ The following items will NOT be exported: 1. Scroll down to find the **Export project** button: - ![export_1](./img/export_1.png) + ![Export button](img/import_export_export_button.png) 1. Once the export is generated, you should receive an e-mail with a link to download the file: - ![export_3](./img/export_3.png) + ![Email download link](img/import_export_mail_link.png) 1. Alternatively, you can come back to the project settings and download the file from there, or generate a new export. Once the file available, the page should show the **Download export** button: - ![export_4](./img/export_4.png) + ![Download export](img/import_export_download_export.png) ## Importing the project @@ -59,12 +59,12 @@ The following items will NOT be exported: options when creating a New Project. Make sure you are in the right namespace and you have entered a project name. Click on **GitLab export**: - ![import_1](./img/import_1.png) + ![New project](img/import_export_new_project.png) 1. You can see where the project will be imported to. You can now select file exported previously: - ![import_2](./img/import_2.png) + ![Select file](img/import_export_select_file.png) 1. Click on **Import project** to begin importing. Your newly imported project page will appear soon. -- cgit v1.2.1 From 78186c68ffc1180086c669726e14f815fda552d5 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Wed, 22 Jun 2016 13:50:02 +0200 Subject: Refactor labels documentation - Add new images to match the new UI - Document the new prioritize feature --- .../img/labels_assign_label_in_new_issue.png | Bin 26380 -> 31126 bytes .../project/img/labels_assign_label_sidebar.png | Bin 30137 -> 31537 bytes .../img/labels_assign_label_sidebar_saved.png | Bin 25488 -> 28396 bytes doc/user/project/img/labels_default.png | Bin 58717 -> 80403 bytes .../project/img/labels_description_tooltip.png | Bin 39315 -> 22585 bytes doc/user/project/img/labels_filter.png | Bin 86911 -> 81536 bytes doc/user/project/img/labels_filter_by_priority.png | Bin 0 -> 60849 bytes doc/user/project/img/labels_generate.png | Bin 29986 -> 31608 bytes doc/user/project/img/labels_new_label.png | Bin 29671 -> 43265 bytes .../project/img/labels_new_label_on_the_fly.png | Bin 11586 -> 10416 bytes .../img/labels_new_label_on_the_fly_create.png | Bin 20604 -> 16151 bytes doc/user/project/img/labels_prioritize.png | Bin 0 -> 108751 bytes doc/user/project/img/labels_subscribe.png | Bin 50177 -> 11536 bytes doc/user/project/labels.md | 82 ++++++++++++++------- 14 files changed, 56 insertions(+), 26 deletions(-) create mode 100644 doc/user/project/img/labels_filter_by_priority.png create mode 100644 doc/user/project/img/labels_prioritize.png diff --git a/doc/user/project/img/labels_assign_label_in_new_issue.png b/doc/user/project/img/labels_assign_label_in_new_issue.png index 72bbf9a0594..e32a35f7cda 100644 Binary files a/doc/user/project/img/labels_assign_label_in_new_issue.png and b/doc/user/project/img/labels_assign_label_in_new_issue.png differ diff --git a/doc/user/project/img/labels_assign_label_sidebar.png b/doc/user/project/img/labels_assign_label_sidebar.png index ffbbf5b8d21..799443af889 100644 Binary files a/doc/user/project/img/labels_assign_label_sidebar.png and b/doc/user/project/img/labels_assign_label_sidebar.png differ diff --git a/doc/user/project/img/labels_assign_label_sidebar_saved.png b/doc/user/project/img/labels_assign_label_sidebar_saved.png index 2771b02735f..e7d8d69e60e 100644 Binary files a/doc/user/project/img/labels_assign_label_sidebar_saved.png and b/doc/user/project/img/labels_assign_label_sidebar_saved.png differ diff --git a/doc/user/project/img/labels_default.png b/doc/user/project/img/labels_default.png index 2d44eb4409b..ee0c9f889ad 100644 Binary files a/doc/user/project/img/labels_default.png and b/doc/user/project/img/labels_default.png differ diff --git a/doc/user/project/img/labels_description_tooltip.png b/doc/user/project/img/labels_description_tooltip.png index 887ef5f43a8..0d1e3e091fb 100644 Binary files a/doc/user/project/img/labels_description_tooltip.png and b/doc/user/project/img/labels_description_tooltip.png differ diff --git a/doc/user/project/img/labels_filter.png b/doc/user/project/img/labels_filter.png index 139b3b22e14..ed622be2d93 100644 Binary files a/doc/user/project/img/labels_filter.png and b/doc/user/project/img/labels_filter.png differ diff --git a/doc/user/project/img/labels_filter_by_priority.png b/doc/user/project/img/labels_filter_by_priority.png new file mode 100644 index 00000000000..c5a9e20919b Binary files /dev/null and b/doc/user/project/img/labels_filter_by_priority.png differ diff --git a/doc/user/project/img/labels_generate.png b/doc/user/project/img/labels_generate.png index 78eff8525bf..9579be4e231 100644 Binary files a/doc/user/project/img/labels_generate.png and b/doc/user/project/img/labels_generate.png differ diff --git a/doc/user/project/img/labels_new_label.png b/doc/user/project/img/labels_new_label.png index 6dc4fe8ce20..a916d3dceb5 100644 Binary files a/doc/user/project/img/labels_new_label.png and b/doc/user/project/img/labels_new_label.png differ diff --git a/doc/user/project/img/labels_new_label_on_the_fly.png b/doc/user/project/img/labels_new_label_on_the_fly.png index 4559c56dbda..80cc434239e 100644 Binary files a/doc/user/project/img/labels_new_label_on_the_fly.png and b/doc/user/project/img/labels_new_label_on_the_fly.png differ diff --git a/doc/user/project/img/labels_new_label_on_the_fly_create.png b/doc/user/project/img/labels_new_label_on_the_fly_create.png index ee75bc6ec92..c41090945eb 100644 Binary files a/doc/user/project/img/labels_new_label_on_the_fly_create.png and b/doc/user/project/img/labels_new_label_on_the_fly_create.png differ diff --git a/doc/user/project/img/labels_prioritize.png b/doc/user/project/img/labels_prioritize.png new file mode 100644 index 00000000000..8dfe72cf826 Binary files /dev/null and b/doc/user/project/img/labels_prioritize.png differ diff --git a/doc/user/project/img/labels_subscribe.png b/doc/user/project/img/labels_subscribe.png index f3c1a1b67e2..ea3db2bc0cf 100644 Binary files a/doc/user/project/img/labels_subscribe.png and b/doc/user/project/img/labels_subscribe.png differ diff --git a/doc/user/project/labels.md b/doc/user/project/labels.md index 93a14e7b8d7..4258185b7d0 100644 --- a/doc/user/project/labels.md +++ b/doc/user/project/labels.md @@ -15,11 +15,10 @@ that works. A permission level of `Developer` or higher is required in order to manage labels. -Head over a single project and navigate to the label page by clicking on -**Labels** in the left sidebar. +Head over a single project and navigate to **Issues > Labels**. -The first time you visit the **Labels** page you'll notice that there are no -labels created yet. +The first time you visit this page, you'll notice that there are no labels +created yet. ![Generate new labels](img/labels_generate.png) @@ -44,6 +43,48 @@ When you are ready press the **Create label** button to create the new label. ![New label](img/labels_new_label.png) +## Prioritize labels + +>**Notes:** + - This feature was introduced in GitLab 8.9. + - Priority sorting is based on the highest priority label only. This might + change in the future, follow the discussion in + https://gitlab.com/gitlab-org/gitlab-ce/issues/18554. + +Prioritized labels are like any other label, but sorted by priority. This allows +you to sort issues and merge requests by priority. + +To prioritize labels, navigate to your project's **Issues > Labels** and click +on the star icon next to them to put them in the priority list. Click on the +star icon again to remove them from the list. + +From there, you can drag them around to set the desired priority. Priority is +set from high to low with an ascending order. Labels with no priority, count as +having their priority set to null. + +![Prioritize labels](img/labels_prioritize.png) + +Now that you have labels prioritized, you can use the 'Priority' filter in the +issues or merge requests tracker. Those with the highest priority label, will +appear on top. + +![Filter labels by priority](img/labels_filter_by_priority.png) + +## Subscribe to labels + +If you don’t want to miss issues or merge requests that are important to you, +simply subscribe to a label. You’ll get notified whenever the label gets added +to an issue or merge request, making sure you don’t miss a thing. + +Go to your project's **Issues > Labels** area, find the label(s) you want to +subscribe to and click on the eye icon. Click again to unsubscribe. + +![Subscribe to labels](img/labels_subscribe.png) + +If you work on a large or popular project, try subscribing only to the labels +that are relevant to you. You’ll notice it’ll be much easier to focus on what’s +important. + ## Create a new label right from the issue tracker >**Note:** @@ -54,8 +95,8 @@ label, only to realize it doesn't exist. Instead of going to the **Labels** page and being distracted from your original purpose, you can create new labels on the fly. -Just hit **New Label** from the dropdown list, provide a name, pick a color -and hit **Create**. +Select **Create new** from the labels dropdown list, provide a name, pick a +color and hit **Create**. ![Create new label on the fly](img/labels_new_label_on_the_fly_create.png) ![New label on the fly](img/labels_new_label_on_the_fly.png) @@ -64,26 +105,25 @@ and hit **Create**. There are generally two ways to assign a label to an issue or merge request. ---- - You can assign a label when you first create or edit an issue or merge request. ![Assign label in new issue](img/labels_assign_label_in_new_issue.png) --- -The second way is by using the right sidebar. Expand it and hit **Edit**. Start -typing the name of the label you are looking for to narrow down the list and -select it. Once done, click outside the sidebar area for the changes to take -effect. +The second way is by using the right sidebar when inside an issue or merge +request. Expand it and hit **Edit** in the labels area. Start typing the name +of the label you are looking for to narrow down the list, and select it. You +can add more than one labels at once. When done, click outside the sidebar area +for the changes to take effect. ![Assign label in sidebar](img/labels_assign_label_sidebar.png) ![Save labels in sidebar](img/labels_assign_label_sidebar_saved.png) --- -To remove labels, follow the same procedure like when adding them and hit the -little **x** mark next to each one. +To remove labels, expand the left sidebar and unmark them from the labels list. +Simple as that. ## Use labels to filter issues @@ -100,18 +140,8 @@ label description like shown below. --- And if you added a description to your label, you can see it by hovering your -mouse over the label in the issue tracker. +mouse over the label in the issue tracker or wherever else the label is +rendered. ![Label tooltips](img/labels_description_tooltip.png) -## Subscribe to labels - -If you don’t want to miss issues or merge requests that are important to you, -simply subscribe to a label. You’ll get notified whenever the label gets added -to an issue or merge request, making sure you don’t miss a thing. - -![Subscribe to labels](img/labels_subscribe.png) - -If you work on a large or popular project, try subscribing only to the labels -that are relevant to you. You’ll notice it’ll be much easier to focus on what’s -important. -- cgit v1.2.1 From 1d9bbb0b8ef4d67833fc99a5c6ffcdafa43a38d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= Date: Wed, 22 Jun 2016 16:14:27 +0200 Subject: Fix CHANGELOG MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ci skip] Signed-off-by: Rémy Coutable --- CHANGELOG | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 222563d355c..7179cd13e11 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,10 @@ Please view this file on the master branch, on stable branches it's out of date. -v 8.9.0 (unreleased) +v 8.10.0 (unreleased) + - Wrap code blocks on Activies and Todos page. !4783 (winniehell) + - Fix MR-auto-close text added to description. !4836 + +v 8.9.0 - Fix builds API response not including commit data - Fix error when CI job variables key specified but not defined - Fix pipeline status when there are no builds in pipeline @@ -13,7 +17,6 @@ v 8.9.0 (unreleased) - Fix endless redirections when accessing user OAuth applications when they are disabled - Allow enabling wiki page events from Webhook management UI - Bump rouge to 1.11.0 - - Fix MR-auto-close text added to description - Fix issue with arrow keys not working in search autocomplete dropdown - Fix an issue where note polling stopped working if a window was in the background during a refresh. @@ -37,7 +40,6 @@ v 8.9.0 (unreleased) - Implement a fair usage of shared runners - Remove project notification settings associated with deleted projects - Fix 404 page when viewing TODOs that contain milestones or labels in different projects - - Wrap code blocks on Activies and Todos page !4783 (winniehell) - Add a metric for the number of new Redis connections created by a transaction - Fix Error 500 when viewing a blob with binary characters after the 1024-byte mark - Redesign navigation for project pages -- cgit v1.2.1 From ac212b9ca4542d44a54ba1a79c0e72037f0a2a00 Mon Sep 17 00:00:00 2001 From: Connor Shea Date: Wed, 22 Jun 2016 08:49:40 -0600 Subject: Finish my sentence. [ci skip] --- doc/workflow/todos.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/workflow/todos.md b/doc/workflow/todos.md index 3ed6551c009..9524ffd5420 100644 --- a/doc/workflow/todos.md +++ b/doc/workflow/todos.md @@ -54,8 +54,7 @@ you. If you close the issue or merge request, your Todo will automatically be marked as done. If someone else closes, merges, or takes action on the issue or merge -request, your Todo will remain pending. This way, an issue or merge request -that was closed by another user +request, your Todo will remain pending. This prevents other users from closing issues without you being notified. There is just one Todo per issue or merge request, so mentioning a user a hundred times in an issue will only trigger one Todo. -- cgit v1.2.1 From 4071be4ff453bc317ba65d5f4a50cab7d50869db Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Wed, 22 Jun 2016 18:14:53 +0300 Subject: Time for 8.10.0-pre Signed-off-by: Dmitriy Zaporozhets --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 6c07f656285..213504430f3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.9.0-pre +8.10.0-pre -- cgit v1.2.1 From 2b1ee3f3d2245eb7f2d83607a3ed3c52c797e7fe Mon Sep 17 00:00:00 2001 From: Connor Shea Date: Wed, 22 Jun 2016 13:50:37 -0600 Subject: Restrict header logo to 36px so it doesn't overflow. --- app/assets/stylesheets/framework/header.scss | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/assets/stylesheets/framework/header.scss b/app/assets/stylesheets/framework/header.scss index a7bcb456560..649ecb6787b 100644 --- a/app/assets/stylesheets/framework/header.scss +++ b/app/assets/stylesheets/framework/header.scss @@ -132,6 +132,11 @@ header { transition-duration: .3s; z-index: 999; + svg, img { + height: 36px; + width: 36px; + } + &:hover { cursor: pointer; } -- cgit v1.2.1 From 938f2b9979e8aae74307571d2c56df3f9b2981f5 Mon Sep 17 00:00:00 2001 From: Drew Blessing Date: Thu, 16 Jun 2016 15:11:09 -0500 Subject: Fix subsequent SAML sign ins --- lib/gitlab/o_auth/user.rb | 2 +- spec/lib/gitlab/saml/user_spec.rb | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/gitlab/o_auth/user.rb b/lib/gitlab/o_auth/user.rb index 78f3ecb4cb4..7af75a9cc4c 100644 --- a/lib/gitlab/o_auth/user.rb +++ b/lib/gitlab/o_auth/user.rb @@ -74,7 +74,7 @@ module Gitlab if user # Case when a LDAP user already exists in Gitlab. Add the OAuth identity to existing account. log.info "LDAP account found for user #{user.username}. Building new #{auth_hash.provider} identity." - user.identities.build(extern_uid: auth_hash.uid, provider: auth_hash.provider) + user.identities.find_or_initialize_by(extern_uid: auth_hash.uid, provider: auth_hash.provider) else log.info "No existing LDAP account was found in GitLab. Checking for #{auth_hash.provider} account." user = find_by_uid_and_provider diff --git a/spec/lib/gitlab/saml/user_spec.rb b/spec/lib/gitlab/saml/user_spec.rb index 84c21ceefd9..2753aecc1f4 100644 --- a/spec/lib/gitlab/saml/user_spec.rb +++ b/spec/lib/gitlab/saml/user_spec.rb @@ -164,7 +164,14 @@ describe Gitlab::Saml::User, lib: true do end context 'and LDAP user has an account already' do - let!(:existing_user) { create(:omniauth_user, email: 'john@mail.com', extern_uid: 'uid=user1,ou=People,dc=example', provider: 'ldapmain', username: 'john') } + before do + create(:omniauth_user, + email: 'john@mail.com', + extern_uid: 'uid=user1,ou=People,dc=example', + provider: 'ldapmain', + username: 'john') + end + it 'adds the omniauth identity to the LDAP account' do saml_user.save @@ -177,6 +184,15 @@ describe Gitlab::Saml::User, lib: true do { provider: 'saml', extern_uid: uid } ]) end + + it 'saves successfully on subsequent tries, when both identities are present' do + saml_user.save + local_saml_user = described_class.new(auth_hash) + local_saml_user.save + + expect(local_saml_user.gl_user).to be_valid + expect(local_saml_user.gl_user).to be_persisted + end end context 'user has SAML user, and wants to add their LDAP identity' do -- cgit v1.2.1 From 2538c4ec8ae0243b5b697f0a70740cc32df50b35 Mon Sep 17 00:00:00 2001 From: Drew Blessing Date: Wed, 1 Jun 2016 10:01:14 -0500 Subject: Update docs based on customer upgrade from 4.0 [ci skip] --- doc/update/2.6-to-3.0.md | 4 ++++ doc/update/2.9-to-3.0.md | 5 +++++ doc/update/3.0-to-3.1.md | 5 +++++ doc/update/3.1-to-4.0.md | 5 +++++ doc/update/4.0-to-4.1.md | 5 +++++ doc/update/4.1-to-4.2.md | 10 +++++++++- doc/update/4.2-to-5.0.md | 9 +++++++++ doc/update/5.0-to-5.1.md | 10 ++++++++++ doc/update/5.1-to-5.2.md | 18 +++++++++++++++++- doc/update/5.1-to-5.4.md | 18 +++++++++++++++++- doc/update/5.1-to-6.0.md | 18 +++++++++++++++++- doc/update/5.2-to-5.3.md | 18 +++++++++++++++++- doc/update/5.3-to-5.4.md | 18 +++++++++++++++++- doc/update/5.4-to-6.0.md | 16 ++++++++++++++++ doc/update/6.0-to-6.1.md | 19 +++++++++++++++++-- doc/update/6.1-to-6.2.md | 19 +++++++++++++++++-- doc/update/6.2-to-6.3.md | 17 ++++++++++++++++- doc/update/6.3-to-6.4.md | 17 ++++++++++++++++- doc/update/6.4-to-6.5.md | 21 ++++++++++++++++++--- doc/update/6.5-to-6.6.md | 20 ++++++++++++++++++-- doc/update/6.6-to-6.7.md | 16 +++++++++++++--- doc/update/6.x-or-7.x-to-7.14.md | 7 +++++-- 22 files changed, 273 insertions(+), 22 deletions(-) diff --git a/doc/update/2.6-to-3.0.md b/doc/update/2.6-to-3.0.md index 4827ef9501a..fb70eaacbc9 100644 --- a/doc/update/2.6-to-3.0.md +++ b/doc/update/2.6-to-3.0.md @@ -13,6 +13,10 @@ git fetch origin git checkout v3.0.3 +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u gitlab -H vim Gemfile # Install libs sudo -u gitlab bundle install --without development test postgres diff --git a/doc/update/2.9-to-3.0.md b/doc/update/2.9-to-3.0.md index f4a997a8c5e..ce46b57c09a 100644 --- a/doc/update/2.9-to-3.0.md +++ b/doc/update/2.9-to-3.0.md @@ -13,6 +13,11 @@ sudo -u gitlab -H git fetch origin sudo -u gitlab -H git checkout v3.0.3 +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u gitlab -H vim Gemfile + # Install gems sudo -u gitlab -H bundle install --without development test postgres diff --git a/doc/update/3.0-to-3.1.md b/doc/update/3.0-to-3.1.md index a30485c42f7..6ac83f3b60d 100644 --- a/doc/update/3.0-to-3.1.md +++ b/doc/update/3.0-to-3.1.md @@ -25,6 +25,11 @@ sudo -u gitlab -H git checkout v3.1.0 # Install new charlock_holmes sudo gem install charlock_holmes --version '0.6.9' +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u gitlab -H vim Gemfile + # Install gems for MySQL sudo -u gitlab -H bundle install --without development test postgres sqlite diff --git a/doc/update/3.1-to-4.0.md b/doc/update/3.1-to-4.0.md index f1ef4df4744..df53ed6de83 100644 --- a/doc/update/3.1-to-4.0.md +++ b/doc/update/3.1-to-4.0.md @@ -26,6 +26,11 @@ I wrote a bash script which will do it automatically for you. Just make sure all sudo -u gitlab -H git fetch sudo -u gitlab -H git checkout 4-0-stable +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u gitlab -H vim Gemfile + # Install gems for MySQL sudo -u gitlab -H bundle install --without development test postgres diff --git a/doc/update/4.0-to-4.1.md b/doc/update/4.0-to-4.1.md index d89d5235917..c163bfd348d 100644 --- a/doc/update/4.0-to-4.1.md +++ b/doc/update/4.0-to-4.1.md @@ -22,6 +22,11 @@ cd /home/gitlab/gitlab/ sudo -u gitlab -H git fetch sudo -u gitlab -H git checkout 4-1-stable +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u gitlab -H vim Gemfile + # Install gems for MySQL sudo -u gitlab -H bundle install --without development test postgres diff --git a/doc/update/4.1-to-4.2.md b/doc/update/4.1-to-4.2.md index 6fe4412ff90..97367c5f347 100644 --- a/doc/update/4.1-to-4.2.md +++ b/doc/update/4.1-to-4.2.md @@ -17,7 +17,15 @@ sudo -u gitlab -H git fetch sudo -u gitlab -H git checkout 4-2-stable -# Install libs +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u gitlab -H vim Gemfile + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u gitlab -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u gitlab -H bundle install --without development test postgres --deployment # update db diff --git a/doc/update/4.2-to-5.0.md b/doc/update/4.2-to-5.0.md index f9faf65f952..ee6de51c923 100644 --- a/doc/update/4.2-to-5.0.md +++ b/doc/update/4.2-to-5.0.md @@ -85,8 +85,17 @@ sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml # edit it sudo -u git -H vim config/gitlab.yml +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u git -H vim Gemfile +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test postgres --deployment + sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production sudo -u git -H bundle exec rake gitlab:shell:setup RAILS_ENV=production sudo -u git -H bundle exec rake gitlab:shell:build_missing_projects RAILS_ENV=production diff --git a/doc/update/5.0-to-5.1.md b/doc/update/5.0-to-5.1.md index 9fbd1f88515..f0fddcf83af 100644 --- a/doc/update/5.0-to-5.1.md +++ b/doc/update/5.0-to-5.1.md @@ -42,7 +42,17 @@ cd /home/git/gitlab sudo rm tmp/sockets/gitlab.socket sudo -u git -H cp config/puma.rb.example config/puma.rb +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u git -H vim Gemfile + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test postgres --deployment + sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production sudo -u git -H bundle exec rake migrate_merge_requests RAILS_ENV=production sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production diff --git a/doc/update/5.1-to-5.2.md b/doc/update/5.1-to-5.2.md index cf9c4e4f770..625fcc33852 100644 --- a/doc/update/5.1-to-5.2.md +++ b/doc/update/5.1-to-5.2.md @@ -40,12 +40,28 @@ sudo -u git -H git checkout v1.4.0 ```bash cd /home/git/gitlab +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u git -H vim Gemfile + # MySQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test postgres --deployment -#PostgreSQL +# PostgreSQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test mysql --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test mysql --deployment +# Both MySQL and PostgreSQL sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production diff --git a/doc/update/5.1-to-5.4.md b/doc/update/5.1-to-5.4.md index 97a98ede070..547d453914c 100644 --- a/doc/update/5.1-to-5.4.md +++ b/doc/update/5.1-to-5.4.md @@ -37,12 +37,28 @@ sudo -u git -H git checkout v1.7.9 # Addresses multiple critical security vulner ```bash cd /home/git/gitlab +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u git -H vim Gemfile + # MySQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test postgres --deployment -#PostgreSQL +# PostgreSQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test mysql --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test mysql --deployment +# Both MySQL and PostgreSQL sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production diff --git a/doc/update/5.1-to-6.0.md b/doc/update/5.1-to-6.0.md index a3fdd92bd2f..c992c69678e 100644 --- a/doc/update/5.1-to-6.0.md +++ b/doc/update/5.1-to-6.0.md @@ -137,12 +137,28 @@ sudo apt-get install python-docutils ```bash cd /home/git/gitlab +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u git -H vim Gemfile + # MySQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test postgres --deployment -#PostgreSQL +# PostgreSQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test mysql --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test mysql --deployment +# Both MySQL and PostgreSQL sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production sudo -u git -H bundle exec rake migrate_groups RAILS_ENV=production sudo -u git -H bundle exec rake migrate_global_projects RAILS_ENV=production diff --git a/doc/update/5.2-to-5.3.md b/doc/update/5.2-to-5.3.md index 27613aeda07..c5254f6fb0c 100644 --- a/doc/update/5.2-to-5.3.md +++ b/doc/update/5.2-to-5.3.md @@ -31,12 +31,28 @@ sudo -u git -H git checkout 5-3-stable ```bash cd /home/git/gitlab +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u git -H vim Gemfile + # MySQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test postgres --deployment -#PostgreSQL +# PostgreSQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test mysql --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test mysql --deployment +# Both MySQL and PostgreSQL sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production diff --git a/doc/update/5.3-to-5.4.md b/doc/update/5.3-to-5.4.md index 577b9a585ff..c4a6146dcda 100644 --- a/doc/update/5.3-to-5.4.md +++ b/doc/update/5.3-to-5.4.md @@ -35,12 +35,28 @@ sudo -u git -H git checkout v1.7.9 # Addresses multiple critical security vulner ```bash cd /home/git/gitlab +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u git -H vim Gemfile + # MySQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test postgres --deployment -#PostgreSQL +# PostgreSQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test mysql --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test mysql --deployment +# Both MySQL and PostgreSQL sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production diff --git a/doc/update/5.4-to-6.0.md b/doc/update/5.4-to-6.0.md index d9c6d9bfb91..f0fee634322 100644 --- a/doc/update/5.4-to-6.0.md +++ b/doc/update/5.4-to-6.0.md @@ -73,12 +73,28 @@ sudo apt-get install python-docutils ```bash cd /home/git/gitlab +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u git -H vim Gemfile + # MySQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test postgres --deployment # PostgreSQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test mysql --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test mysql --deployment +# Both MySQL and PostgreSQL sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production sudo -u git -H bundle exec rake migrate_groups RAILS_ENV=production sudo -u git -H bundle exec rake migrate_global_projects RAILS_ENV=production diff --git a/doc/update/6.0-to-6.1.md b/doc/update/6.0-to-6.1.md index c5eba1c01c4..409faf30902 100644 --- a/doc/update/6.0-to-6.1.md +++ b/doc/update/6.0-to-6.1.md @@ -50,13 +50,28 @@ sudo -u git -H git checkout v1.7.9 ```bash cd /home/git/gitlab +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u git -H vim Gemfile + # MySQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test postgres --deployment -#PostgreSQL -sudo -u git -H bundle install --without development test mysql --deployment +# PostgreSQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test mysql --no-deployment +# Install libs (with deployment this time) +sudo -u git -H bundle install --without development test mysql --deployment +# Both MySQL and PostgreSQL sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production sudo -u git -H bundle exec rake migrate_iids RAILS_ENV=production sudo -u git -H bundle exec rake assets:clean RAILS_ENV=production diff --git a/doc/update/6.1-to-6.2.md b/doc/update/6.1-to-6.2.md index a534528108a..150c7ae1c83 100644 --- a/doc/update/6.1-to-6.2.md +++ b/doc/update/6.1-to-6.2.md @@ -45,13 +45,28 @@ sudo apt-get install logrotate ```bash cd /home/git/gitlab +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u git -H vim Gemfile + # MySQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test postgres --deployment -#PostgreSQL -sudo -u git -H bundle install --without development test mysql --deployment +# PostgreSQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test mysql --no-deployment +# Install libs (with deployment this time) +sudo -u git -H bundle install --without development test mysql --deployment +# Both MySQL and PostgreSQL sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production sudo -u git -H bundle exec rake assets:clean RAILS_ENV=production sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production diff --git a/doc/update/6.2-to-6.3.md b/doc/update/6.2-to-6.3.md index b08ebde0808..b96dfb8add7 100644 --- a/doc/update/6.2-to-6.3.md +++ b/doc/update/6.2-to-6.3.md @@ -40,13 +40,28 @@ The gitlab-shell config changed recently, so check for config file changes and m ```bash cd /home/git/gitlab +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u git -H vim Gemfile + # MySQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test postgres --deployment # PostgreSQL -sudo -u git -H bundle install --without development test mysql --deployment +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test mysql --no-deployment + +# Install libs (with deployment this time) +sudo -u git -H bundle install --without development test mysql --deployment +# Both MySQL and PostgreSQL # Run database migrations sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production diff --git a/doc/update/6.3-to-6.4.md b/doc/update/6.3-to-6.4.md index 951d92dfeb5..37028be055f 100644 --- a/doc/update/6.3-to-6.4.md +++ b/doc/update/6.3-to-6.4.md @@ -36,13 +36,28 @@ sudo -u git -H git checkout v1.8.0 ```bash cd /home/git/gitlab +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u git -H vim Gemfile + # MySQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test postgres --deployment # PostgreSQL -sudo -u git -H bundle install --without development test mysql --deployment +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test mysql --no-deployment + +# Install libs (with deployment this time) +sudo -u git -H bundle install --without development test mysql --deployment +# Both MySQL and PostgreSQL # Run database migrations sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production diff --git a/doc/update/6.4-to-6.5.md b/doc/update/6.4-to-6.5.md index 0dae9a9fe59..982381a4db0 100644 --- a/doc/update/6.4-to-6.5.md +++ b/doc/update/6.4-to-6.5.md @@ -46,13 +46,28 @@ sudo -u git -H git checkout v1.8.0 ```bash cd /home/git/gitlab -# MySQL installations (note: the line below states '--without ... postgres') +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u git -H vim Gemfile + +# MySQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test postgres --deployment -# PostgreSQL installations (note: the line below states '--without ... mysql') -sudo -u git -H bundle install --without development test mysql --deployment +# PostgreSQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test mysql --no-deployment +# Install libs (with deployment this time) +sudo -u git -H bundle install --without development test mysql --deployment +# Both MySQL and PostgreSQL # Run database migrations sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production diff --git a/doc/update/6.5-to-6.6.md b/doc/update/6.5-to-6.6.md index c24e83eb006..bbed2b30215 100644 --- a/doc/update/6.5-to-6.6.md +++ b/doc/update/6.5-to-6.6.md @@ -46,12 +46,28 @@ sudo -u git -H git checkout v1.8.0 ```bash cd /home/git/gitlab -# MySQL installations (note: the line below states '--without ... postgres') +# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0 +# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to +# `gem "modernizr-rails", "2.7.1"`` +sudo -u git -H vim Gemfile + +# MySQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test postgres --deployment -# PostgreSQL installations (note: the line below states '--without ... mysql') +# PostgreSQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test mysql --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test mysql --deployment +# Both MySQL and PostgreSQL # Run database migrations sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production diff --git a/doc/update/6.6-to-6.7.md b/doc/update/6.6-to-6.7.md index b4298c93429..8e82942a1a0 100644 --- a/doc/update/6.6-to-6.7.md +++ b/doc/update/6.6-to-6.7.md @@ -46,13 +46,23 @@ sudo -u git -H git checkout v1.9.1 ```bash cd /home/git/gitlab -# MySQL installations (note: the line below states '--without ... postgres') +# MySQL + +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test postgres --no-deployment + +# Install libs (with deployment this time) sudo -u git -H bundle install --without development test postgres --deployment -# PostgreSQL installations (note: the line below states '--without ... mysql') -sudo -u git -H bundle install --without development test mysql --deployment +# PostgreSQL +# Run a bundle install without deployment to generate the new Gemfile +sudo -u git -H bundle install --without development test mysql --no-deployment + +# Install libs (with deployment this time) +sudo -u git -H bundle install --without development test mysql --deployment +# Both MySQL and PostgreSQL # Run database migrations sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production diff --git a/doc/update/6.x-or-7.x-to-7.14.md b/doc/update/6.x-or-7.x-to-7.14.md index c45fc9340ea..f170a0021b7 100644 --- a/doc/update/6.x-or-7.x-to-7.14.md +++ b/doc/update/6.x-or-7.x-to-7.14.md @@ -147,12 +147,15 @@ sudo -u git -H bundle install --without development test postgres --deployment # PostgreSQL installations (note: the line below states '--without ... mysql') sudo -u git -H bundle install --without development test mysql --deployment -# Run database migrations -sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production +# Run database migrations from 6.0 to 6.1 +sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production VERSION=20130909132950 # Enable internal issue IDs (introduced in GitLab 6.1) sudo -u git -H bundle exec rake migrate_iids RAILS_ENV=production +# Run left database migrations +sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production + # Clean up assets and cache sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production -- cgit v1.2.1 From 97ec04ac9b923ff9eb68ce51a35150d45105adf1 Mon Sep 17 00:00:00 2001 From: Connor Shea Date: Mon, 20 Jun 2016 13:38:17 -0600 Subject: Add Subresource Integrity attribute to CSS and JS assets. This prevents compromised or malicious CDNs from modifying assets. The hash provided by Rails is compared to the hash of the asset the browser has downloaded. The browser will refuse to execute/parse the assets if the hashes don't match. SRI is currently implemented in Firefox, Chrome, and Opera. More information is available in #18230 and on MDN: https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity This doesn't apply to the dynamically-generated per-page JavaScript due to a bug in sprockets-rails (https://github.com/rails/sprockets-rails/issues/359). --- app/views/layouts/_head.html.haml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/views/layouts/_head.html.haml b/app/views/layouts/_head.html.haml index e0ed657919e..be29ed532ee 100644 --- a/app/views/layouts/_head.html.haml +++ b/app/views/layouts/_head.html.haml @@ -25,10 +25,10 @@ = favicon_link_tag 'favicon.ico' - = stylesheet_link_tag "application", media: "all" - = stylesheet_link_tag "print", media: "print" + = stylesheet_link_tag "application", media: "all", integrity: true + = stylesheet_link_tag "print", media: "print", integrity: true - = javascript_include_tag "application" + = javascript_include_tag "application", integrity: true - if page_specific_javascripts = javascript_include_tag page_specific_javascripts, {"data-turbolinks-track" => true} -- cgit v1.2.1 From bba1d2de3bc76bf65b4c2ded07e94ab0d7455bfd Mon Sep 17 00:00:00 2001 From: Connor Shea Date: Wed, 22 Jun 2016 16:25:59 -0600 Subject: Add clarifying comment and a Changelog entry. --- CHANGELOG | 1 + app/views/layouts/_head.html.haml | 3 +++ 2 files changed, 4 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 7179cd13e11..76d9712ce9f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,7 @@ Please view this file on the master branch, on stable branches it's out of date. v 8.10.0 (unreleased) - Wrap code blocks on Activies and Todos page. !4783 (winniehell) - Fix MR-auto-close text added to description. !4836 + - Implement Subresource Integrity for CSS and JavaScript assets. This prevents malicious assets from loading in the case of a CDN compromise. v 8.9.0 - Fix builds API response not including commit data diff --git a/app/views/layouts/_head.html.haml b/app/views/layouts/_head.html.haml index be29ed532ee..d5965a6ec99 100644 --- a/app/views/layouts/_head.html.haml +++ b/app/views/layouts/_head.html.haml @@ -30,6 +30,9 @@ = javascript_include_tag "application", integrity: true + -# FIXME: SRI doesn't apply to the dynamically-generated per-page + -# JavaScript due to a bug in sprockets-rails. + -# See https://github.com/rails/sprockets-rails/issues/359 - if page_specific_javascripts = javascript_include_tag page_specific_javascripts, {"data-turbolinks-track" => true} -- cgit v1.2.1 From addfdadc4382858e507c9404b9b1c8a96c1eb484 Mon Sep 17 00:00:00 2001 From: Connor Shea Date: Wed, 22 Jun 2016 16:40:06 -0600 Subject: Add caching for Ruby 2.3 tests. Accidentally removed when !3807 was merged. --- .gitlab-ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 219077d79b8..b917c645ff8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -134,6 +134,11 @@ spinach 9 10: *spinach-knapsack image: "ruby:2.3" only: - master + cache: + key: "ruby-23" + paths: + - vendor/apt + - vendor/ruby .rspec-knapsack-ruby23: &rspec-knapsack-ruby23 <<: *rspec-knapsack -- cgit v1.2.1 From e393a8f0bb2b358a5d039dba1d462baa355b4763 Mon Sep 17 00:00:00 2001 From: Jacob Schatz Date: Thu, 23 Jun 2016 00:50:50 -0400 Subject: Fix header logo width/height issues --- app/assets/stylesheets/framework/header.scss | 1 - 1 file changed, 1 deletion(-) diff --git a/app/assets/stylesheets/framework/header.scss b/app/assets/stylesheets/framework/header.scss index 649ecb6787b..e8cbe7f3c02 100644 --- a/app/assets/stylesheets/framework/header.scss +++ b/app/assets/stylesheets/framework/header.scss @@ -134,7 +134,6 @@ header { svg, img { height: 36px; - width: 36px; } &:hover { -- cgit v1.2.1