From 546ddc3f6ac96fdf09934390a938bb391d07dc94 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 3 Apr 2020 12:09:52 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../snippets/components/snippet_header.vue | 38 +++++++++--------- app/models/audit_event.rb | 16 +++++++- app/services/audit_event_service.rb | 10 ++++- .../groups/deploy_tokens/create_service.rb | 2 +- .../projects/deploy_tokens/create_service.rb | 2 +- .../_repository_storage.html.haml | 6 +-- ...sers-despite-no-access-to-repositories.yml | 5 +++ .../create-token--http-response.yml | 5 +++ .../unreleased/dmishunov-new-buttons.yml | 5 +++ ...-update-repository-shards-admin-copies.yml | 5 +++ ...000_add_confidential_attribute_to_epics.rb | 17 ++++++++ db/structure.sql | 2 + .../img/repository_storages_admin_ui.png | Bin 20897 -> 0 bytes .../repository_storages_admin_ui_v12_10.png | Bin 0 -> 94975 bytes .../repository_storage_paths.md | 14 +++---- doc/administration/troubleshooting/debug.md | 4 +- doc/api/markdown.md | 4 +- doc/development/i18n/externalization.md | 8 +--- doc/development/i18n/proofreader.md | 4 +- doc/development/i18n/translation.md | 4 +- doc/development/lfs.md | 15 +++---- doc/development/testing_guide/ci.md | 11 ++--- .../index.md | 33 +++++---------- doc/topics/git/troubleshooting_git.md | 7 +--- .../repository/repository_mirroring.md | 4 ++ locale/gitlab.pot | 27 ++++++++++--- .../groups/settings/ci_cd_controller_spec.rb | 2 +- .../settings/ci_cd_controller_spec.rb | 2 +- .../diffs/components/commit_item_spec.js | 4 +- .../components/snippet_header_spec.js | 10 ++--- .../import_export/safe_model_attributes.yml | 1 + 31 files changed, 160 insertions(+), 107 deletions(-) create mode 100644 changelogs/unreleased/34079-mirrored-url-visible-for-users-despite-no-access-to-repositories.yml create mode 100644 changelogs/unreleased/create-token--http-response.yml create mode 100644 changelogs/unreleased/dmishunov-new-buttons.yml create mode 100644 changelogs/unreleased/fj-update-repository-shards-admin-copies.yml create mode 100644 db/migrate/20200330121000_add_confidential_attribute_to_epics.rb delete mode 100644 doc/administration/img/repository_storages_admin_ui.png create mode 100644 doc/administration/img/repository_storages_admin_ui_v12_10.png diff --git a/app/assets/javascripts/snippets/components/snippet_header.vue b/app/assets/javascripts/snippets/components/snippet_header.vue index c280096b2bf..79b191cb25a 100644 --- a/app/assets/javascripts/snippets/components/snippet_header.vue +++ b/app/assets/javascripts/snippets/components/snippet_header.vue @@ -4,12 +4,12 @@ import { GlAvatar, GlIcon, GlSprintf, - GlDeprecatedButton, GlModal, GlAlert, GlLoadingIcon, GlDropdown, GlDropdownItem, + GlNewButton, } from '@gitlab/ui'; import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue'; @@ -22,13 +22,13 @@ export default { GlAvatar, GlIcon, GlSprintf, - GlDeprecatedButton, GlModal, GlAlert, GlLoadingIcon, GlDropdown, GlDropdownItem, TimeAgoTooltip, + GlNewButton, }, apollo: { canCreateSnippet: { @@ -67,17 +67,14 @@ export default { condition: this.snippet.userPermissions.updateSnippet, text: __('Edit'), href: this.editLink, - click: undefined, - variant: 'outline-info', - cssClass: undefined, }, { condition: this.snippet.userPermissions.adminSnippet, text: __('Delete'), - href: undefined, click: this.showDeleteModal, - variant: 'outline-danger', - cssClass: 'btn-inverted btn-danger ml-2', + variant: 'danger', + category: 'secondary', + cssClass: 'ml-2', }, { condition: this.canCreateSnippet, @@ -85,9 +82,9 @@ export default { href: this.snippet.project ? `${this.snippet.project.webUrl}/snippets/new` : '/snippets/new', - click: undefined, - variant: 'outline-success', - cssClass: 'btn-inverted btn-success ml-2', + variant: 'success', + category: 'secondary', + cssClass: 'ml-2', }, ]; }, @@ -187,18 +184,20 @@ export default {
-
+
diff --git a/app/models/audit_event.rb b/app/models/audit_event.rb index 03841917bbf..7ff0076c3e3 100644 --- a/app/models/audit_event.rb +++ b/app/models/audit_event.rb @@ -30,12 +30,26 @@ class AuditEvent < ApplicationRecord end def author_name - self.user.name + lazy_author.name end def formatted_details details.merge(details.slice(:from, :to).transform_values(&:to_s)) end + + def lazy_author + BatchLoader.for(author_id).batch(default_value: default_author_value) do |author_ids, loader| + User.where(id: author_ids).find_each do |user| + loader.call(user.id, user) + end + end + end + + private + + def default_author_value + ::Gitlab::Audit::NullAuthor.for(author_id, details[:author_name]) + end end AuditEvent.prepend_if_ee('EE::AuditEvent') diff --git a/app/services/audit_event_service.rb b/app/services/audit_event_service.rb index 42ed5f17d8d..d9e40c456aa 100644 --- a/app/services/audit_event_service.rb +++ b/app/services/audit_event_service.rb @@ -13,7 +13,7 @@ class AuditEventService # # @return [AuditEventService] def initialize(author, entity, details = {}) - @author = author + @author = build_author(author) @entity = entity @details = details end @@ -49,6 +49,14 @@ class AuditEventService private + def build_author(author) + if author.is_a?(User) + author + else + Gitlab::Audit::UnauthenticatedAuthor.new(name: author) + end + end + def base_payload { author_id: @author.id, diff --git a/app/services/groups/deploy_tokens/create_service.rb b/app/services/groups/deploy_tokens/create_service.rb index d747dabcd3c..81f761eb61d 100644 --- a/app/services/groups/deploy_tokens/create_service.rb +++ b/app/services/groups/deploy_tokens/create_service.rb @@ -9,7 +9,7 @@ module Groups deploy_token = create_deploy_token_for(@group, params) if deploy_token.persisted? - success(deploy_token: deploy_token, http_status: :ok) + success(deploy_token: deploy_token, http_status: :created) else error(deploy_token.errors.full_messages.to_sentence, :bad_request) end diff --git a/app/services/projects/deploy_tokens/create_service.rb b/app/services/projects/deploy_tokens/create_service.rb index e943b2489ac..2e71650b066 100644 --- a/app/services/projects/deploy_tokens/create_service.rb +++ b/app/services/projects/deploy_tokens/create_service.rb @@ -9,7 +9,7 @@ module Projects deploy_token = create_deploy_token_for(@project, params) if deploy_token.persisted? - success(deploy_token: deploy_token, http_status: :ok) + success(deploy_token: deploy_token, http_status: :created) else error(deploy_token.errors.full_messages.to_sentence, :bad_request) end diff --git a/app/views/admin/application_settings/_repository_storage.html.haml b/app/views/admin/application_settings/_repository_storage.html.haml index b97e9a194f3..c3ae39ddd48 100644 --- a/app/views/admin/application_settings/_repository_storage.html.haml +++ b/app/views/admin/application_settings/_repository_storage.html.haml @@ -9,13 +9,13 @@ = f.check_box :hashed_storage_enabled, class: 'form-check-input qa-hashed-storage-checkbox' = f.label :hashed_storage_enabled, _("Use hashed storage"), class: 'label-bold form-check-label' .form-text.text-muted - = _("Use hashed storage paths for newly created and renamed projects. Enable immutable, hash-based paths and repository names to store repositories on disk. This prevents repositories from having to be moved or renamed when the Project URL changes and may improve disk I/O performance.") + = _("Use hashed storage paths for newly created and renamed repositories. Enable immutable, hash-based paths and repository names to store repositories on disk. This prevents repositories from having to be moved or renamed when the Repository URL changes and may improve disk I/O performance.") .sub-section - %h4= _("Storage nodes for new projects") + %h4= _("Storage nodes for new repositories") .form-group .form-text %p.text-secondary - = _('Select the configured storaged available for new projects to be placed on.') + = _('Select the configured storage available for new repositories to be placed on.') = link_to icon('question-circle'), help_page_path('administration/repository_storage_paths') .form-check = f.collection_check_boxes :repository_storages, Gitlab.config.repositories.storages, :first, :first, include_hidden: false do |b| diff --git a/changelogs/unreleased/34079-mirrored-url-visible-for-users-despite-no-access-to-repositories.yml b/changelogs/unreleased/34079-mirrored-url-visible-for-users-despite-no-access-to-repositories.yml new file mode 100644 index 00000000000..90e28cb5dac --- /dev/null +++ b/changelogs/unreleased/34079-mirrored-url-visible-for-users-despite-no-access-to-repositories.yml @@ -0,0 +1,5 @@ +--- +title: Only display mirrored URL to users who can manage Repository settings +merge_request: 27166 +author: +type: changed diff --git a/changelogs/unreleased/create-token--http-response.yml b/changelogs/unreleased/create-token--http-response.yml new file mode 100644 index 00000000000..11f24452492 --- /dev/null +++ b/changelogs/unreleased/create-token--http-response.yml @@ -0,0 +1,5 @@ +--- +title: Token creation uses HTTP status CREATED +merge_request: 28587 +author: +type: fixed diff --git a/changelogs/unreleased/dmishunov-new-buttons.yml b/changelogs/unreleased/dmishunov-new-buttons.yml new file mode 100644 index 00000000000..a86893a51c0 --- /dev/null +++ b/changelogs/unreleased/dmishunov-new-buttons.yml @@ -0,0 +1,5 @@ +--- +title: Replaced old-style buttons with the new ones on Snippet view +merge_request: 28614 +author: +type: other diff --git a/changelogs/unreleased/fj-update-repository-shards-admin-copies.yml b/changelogs/unreleased/fj-update-repository-shards-admin-copies.yml new file mode 100644 index 00000000000..133c6d03e9a --- /dev/null +++ b/changelogs/unreleased/fj-update-repository-shards-admin-copies.yml @@ -0,0 +1,5 @@ +--- +title: Update copies in Admin Panel > Repository Storage section +merge_request: 27986 +author: +type: changed diff --git a/db/migrate/20200330121000_add_confidential_attribute_to_epics.rb b/db/migrate/20200330121000_add_confidential_attribute_to_epics.rb new file mode 100644 index 00000000000..01728436b93 --- /dev/null +++ b/db/migrate/20200330121000_add_confidential_attribute_to_epics.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +class AddConfidentialAttributeToEpics < ActiveRecord::Migration[6.0] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + add_column_with_default(:epics, :confidential, :boolean, default: false) + end + + def down + remove_column(:epics, :confidential) + end +end diff --git a/db/structure.sql b/db/structure.sql index d9062b0f3e1..94d98c68f48 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -2271,6 +2271,7 @@ CREATE TABLE public.epics ( state_id smallint DEFAULT 1 NOT NULL, start_date_sourcing_epic_id integer, due_date_sourcing_epic_id integer, + confidential boolean DEFAULT false NOT NULL, external_key character varying(255) ); @@ -12925,6 +12926,7 @@ COPY "schema_migrations" (version) FROM STDIN; 20200326144443 20200326145443 20200330074719 +20200330121000 20200330132913 20200331220930 \. diff --git a/doc/administration/img/repository_storages_admin_ui.png b/doc/administration/img/repository_storages_admin_ui.png deleted file mode 100644 index 51b2f5f8c1521616e6c36556f08afa6ba7f00b45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20897 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 q%CMwxuXT Settings > Repository > Repository storage > Storage -nodes for new projects**. +Once you set the multiple storage paths, you can choose where new repositories +will be stored under **Admin Area > Settings > Repository > +Repository storage > Storage nodes for new repositories**. -![Choose repository storage path in Admin Area](img/repository_storages_admin_ui.png) +![Choose repository storage path in Admin Area](img/repository_storages_admin_ui_v12_10.png) -Beginning with GitLab 8.13.4, multiple paths can be chosen. New projects will be -randomly placed on one of the selected paths. +Beginning with GitLab 8.13.4, multiple paths can be chosen. New repositories +will be randomly placed on one of the selected paths. [ce-4578]: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/4578 [restart-gitlab]: restart_gitlab.md#installations-from-source diff --git a/doc/administration/troubleshooting/debug.md b/doc/administration/troubleshooting/debug.md index 78aa10489ce..6a22b22a5be 100644 --- a/doc/administration/troubleshooting/debug.md +++ b/doc/administration/troubleshooting/debug.md @@ -156,9 +156,7 @@ unicorn['worker_timeout'] = 300 For source installations, edit `config/unicorn.rb`. -[Reconfigure] GitLab for the changes to take effect. - -[Reconfigure]: ../restart_gitlab.md#omnibus-gitlab-reconfigure +[Reconfigure](../restart_gitlab.md#omnibus-gitlab-reconfigure) GitLab for the changes to take effect. #### Troubleshooting without affecting other users diff --git a/doc/api/markdown.md b/doc/api/markdown.md index 3b4b6323022..45f105b4e2a 100644 --- a/doc/api/markdown.md +++ b/doc/api/markdown.md @@ -1,6 +1,6 @@ # Markdown API -> [Introduced][ce-18926] in GitLab 11.0. +> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18926) in GitLab 11.0. Available only in APIv4. @@ -25,5 +25,3 @@ Response example: ```json { "html": "

Hello world! 🎉

" } ``` - -[ce-18926]: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18926 diff --git a/doc/development/i18n/externalization.md b/doc/development/i18n/externalization.md index 5c6e31d0a37..a550d977916 100644 --- a/doc/development/i18n/externalization.md +++ b/doc/development/i18n/externalization.md @@ -292,9 +292,7 @@ const dateFormat = createDateTimeFormat({ year: 'numeric', month: 'long', day: ' console.log(dateFormat.format(new Date('2063-04-05'))) // April 5, 2063 ``` -This makes use of [`Intl.DateTimeFormat`]. - -[`Intl.DateTimeFormat`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat +This makes use of [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat). - In Ruby/HAML, we have two ways of adding format to dates and times: @@ -404,9 +402,7 @@ This also applies when using links in between translated sentences, otherwise th The reasoning behind this is that in some languages words change depending on context. For example in Japanese は is added to the subject of a sentence and を to the object. This is impossible to translate correctly if we extract individual words from the sentence. When in doubt, try to follow the best practices described in this [Mozilla -Developer documentation][mdn]. - -[mdn]: https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_content_best_practices#Splitting +Developer documentation](https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_content_best_practices#Splitting). ##### Vue components interpolation diff --git a/doc/development/i18n/proofreader.md b/doc/development/i18n/proofreader.md index 5535011d8c1..0e631a41de8 100644 --- a/doc/development/i18n/proofreader.md +++ b/doc/development/i18n/proofreader.md @@ -121,7 +121,7 @@ are very appreciative of the work done by translators and proofreaders! 1. Request proofreader permissions by opening a merge request to add yourself to the list of proofreaders. - Open the [proofreader.md source file][proofreader-src] and click **Edit**. + Open the [proofreader.md source file](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/i18n/proofreader.md) and click **Edit**. Add your language in alphabetical order, and add yourself to the list including: @@ -138,5 +138,3 @@ are very appreciative of the work done by translators and proofreaders! the language or current proofreaders. - When a request is made for the first proofreader for a language and there are no [GitLab team members](https://about.gitlab.com/company/team/) or [Core team members](https://about.gitlab.com/community/core-team/) who speak the language, we will request links to previous translation work in other communities or projects. - -[proofreader-src]: https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/i18n/proofreader.md diff --git a/doc/development/i18n/translation.md b/doc/development/i18n/translation.md index 50a417e9996..683dae6ce3d 100644 --- a/doc/development/i18n/translation.md +++ b/doc/development/i18n/translation.md @@ -69,7 +69,7 @@ determining a suitable level of formality. ### Inclusive language -[Diversity] is one of GitLab's values. +[Diversity](https://about.gitlab.com/handbook/values/#diversity) is one of GitLab's values. We ask you to avoid translations which exclude people based on their gender or ethnicity. In languages which distinguish between a male and female form, use both or @@ -78,8 +78,6 @@ choose a neutral formulation. For example in German, the word "user" can be translated into "Benutzer" (male) or "Benutzerin" (female). Therefore "create a new user" would translate into "Benutzer(in) anlegen". -[Diversity]: https://about.gitlab.com/handbook/values/#diversity - ### Updating the glossary To propose additions to the glossary please diff --git a/doc/development/lfs.md b/doc/development/lfs.md index 63271531960..e64bc0f7d3a 100644 --- a/doc/development/lfs.md +++ b/doc/development/lfs.md @@ -2,10 +2,11 @@ ## Deep Dive -In April 2019, Francisco Javier López hosted a [Deep Dive] on GitLab's [Git LFS] implementation to share his domain specific knowledge with anyone who may work in this part of the code base in the future. You can find the [recording on YouTube], and the slides on [Google Slides] and in [PDF]. Everything covered in this deep dive was accurate as of GitLab 11.10, and while specific details may have changed since then, it should still serve as a good introduction. - -[Deep Dive]: https://gitlab.com/gitlab-org/create-stage/issues/1 -[Git LFS]: ../topics/git/lfs/index.md -[recording on YouTube]: https://www.youtube.com/watch?v=Yyxwcksr0Qc -[Google Slides]: https://docs.google.com/presentation/d/1E-aw6-z0rYd0346YhIWE7E9A65zISL9iIMAOq2zaw9E/edit -[PDF]: https://gitlab.com/gitlab-org/create-stage/uploads/07a89257a140db067bdfb484aecd35e1/Git_LFS_Deep_Dive__Create_.pdf +In April 2019, Francisco Javier López hosted a [Deep Dive](https://gitlab.com/gitlab-org/create-stage/issues/1) +on GitLab's [Git LFS](../topics/git/lfs/index.md) implementation to share his domain +specific knowledge with anyone who may work in this part of the code base in the future. +You can find the [recording on YouTube](https://www.youtube.com/watch?v=Yyxwcksr0Qc), +and the slides on [Google Slides](https://docs.google.com/presentation/d/1E-aw6-z0rYd0346YhIWE7E9A65zISL9iIMAOq2zaw9E/edit) +and in [PDF](https://gitlab.com/gitlab-org/create-stage/uploads/07a89257a140db067bdfb484aecd35e1/Git_LFS_Deep_Dive__Create_.pdf). +Everything covered in this deep dive was accurate as of GitLab 11.10, and while specific +details may have changed since then, it should still serve as a good introduction. diff --git a/doc/development/testing_guide/ci.md b/doc/development/testing_guide/ci.md index 5bdd0a69d7f..6917639454c 100644 --- a/doc/development/testing_guide/ci.md +++ b/doc/development/testing_guide/ci.md @@ -25,23 +25,18 @@ After that, the next pipeline will use the up-to-date `knapsack/report-master.js ## Monitoring -The GitLab test suite is [monitored] for the `master` branch, and any branch +The GitLab test suite is [monitored](../performance.md#rspec-profiling) for the `master` branch, and any branch that includes `rspec-profile` in their name. -A [public dashboard] is available for everyone to see. Feel free to look at the +A [public dashboard](https://redash.gitlab.com/public/dashboards/l1WhHXaxrCWM5Ai9D7YDqHKehq6OU3bx5gssaiWe?org_slug=default) is available for everyone to see. Feel free to look at the slowest test files and try to improve them. -[monitored]: ../performance.md#rspec-profiling -[public dashboard]: https://redash.gitlab.com/public/dashboards/l1WhHXaxrCWM5Ai9D7YDqHKehq6OU3bx5gssaiWe?org_slug=default - ## CI setup - Rails logging to `log/test.log` is disabled by default in CI [for - performance reasons][logging]. To override this setting, provide the + performance reasons](https://jtway.co/speed-up-your-rails-test-suite-by-6-in-1-line-13fedb869ec4). To override this setting, provide the `RAILS_ENABLE_TEST_LOG` environment variable. -[logging]: https://jtway.co/speed-up-your-rails-test-suite-by-6-in-1-line-13fedb869ec4 - --- [Return to Testing documentation](index.md) diff --git a/doc/topics/git/numerous_undo_possibilities_in_git/index.md b/doc/topics/git/numerous_undo_possibilities_in_git/index.md index 3b93c978931..9c40041414c 100644 --- a/doc/topics/git/numerous_undo_possibilities_in_git/index.md +++ b/doc/topics/git/numerous_undo_possibilities_in_git/index.md @@ -20,7 +20,7 @@ please refer to the [Git book](https://git-scm.com/book/en/v2). We will explain a few different techniques to undo your changes based on the stage of the change in your current development. Also, keep in mind that [nothing in -Git is really deleted][git-autoclean-ref]. +Git is really deleted](https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery). This means that until Git automatically cleans detached commits (which cannot be accessed by branch or tag) it will be possible to view them with `git reflog` command @@ -28,7 +28,7 @@ and access them with direct commit-id. Read more about _[redoing the undo](#redo ## Introduction -This guide is organized depending on the [stage of development][git-basics] +This guide is organized depending on the [stage of development](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository) where you want to undo your changes from and if they were shared with other developers or not. Because Git is tracking changes a created or edited file is in the unstaged state (if created it is untracked by Git). After you add it to a repository (`git add`) you put @@ -52,16 +52,16 @@ Here's what we'll cover in this tutorial: ### Branching strategy -[Git][git-official] is a de-centralized version control system, which means that beside regular +[Git](https://git-scm.com/) is a de-centralized version control system, which means that beside regular versioning of the whole repository, it has possibilities to exchange changes with other repositories. To avoid chaos with -[multiple sources of truth][git-distributed], various +[multiple sources of truth](https://git-scm.com/about/distributed), various development workflows have to be followed, and it depends on your internal workflow how certain changes or commits can be undone or changed. -[GitLab Flow][gitlab-flow] provides a good +[GitLab Flow](https://about.gitlab.com/blog/2014/09/29/gitlab-flow/) provides a good balance between developers clashing with each other while developing the same feature and cooperating seamlessly, but it does not enable joined development of the same feature by multiple developers by default. @@ -71,7 +71,7 @@ with every synchronization is unavoidable, but a proper or chosen Git Workflow w prevent that anything is lost or out of sync when feature is complete. You can also -read through this blog post on [Git Tips & Tricks][gitlab-git-tips-n-tricks] +read through this blog post on [Git Tips & Tricks](https://about.gitlab.com/blog/2016/12/08/git-tips-and-tricks/) to learn how to easily **do** things in Git. ## Undo local changes @@ -234,7 +234,7 @@ git bisect A..E ``` Bisect will provide us with commit-id of the middle commit to test, and then guide us -through simple bisection process. You can read more about it [in official Git Tools][git-debug] +through simple bisection process. You can read more about it [in official Git Tools](https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git) In our example we will end up with commit `B`, that introduced bug/error. We have 4 options on how to remove it (or part of it) from our repository. @@ -333,7 +333,7 @@ Sometimes you realize that the changes you undid were useful and you want them back. Well because of first paragraph you are in luck. Command `git reflog` enables you to *recall* detached local commits by referencing or applying them via commit-id. Although, do not expect to see really old commits in reflog, because -Git regularly [cleans the commits which are *unreachable* by branches or tags][git-autoclean-ref]. +Git regularly [cleans the commits which are *unreachable* by branches or tags](https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery). To view repository history and to track older commits you can use below command: @@ -403,7 +403,7 @@ the cleanup of detached commits (happens automatically). Modified history breaks the development chain of other developers, as changed history does not have matching commits'ids. For that reason it should not be used on any public branch or on branch that *might* be used by other developers. -When contributing to big open source repositories (for example, [GitLab][gitlab] +When contributing to big open source repositories (for example, [GitLab](https://gitlab.com/gitlab-org/gitlab/blob/master/CONTRIBUTING.md#contribution-acceptance-criteria) itself), it is acceptable to *squash* commits into a single one, to present a nicer history of your contribution. @@ -476,7 +476,7 @@ Git also enables you to delete sensitive information from your past commits and it does modify history in the progress. That is why we have included it in this section and not as a standalone topic. To do so, you should run the `git filter-branch`, which enables you to rewrite history with -[certain filters][git-filters-manual]. +[certain filters](https://git-scm.com/docs/git-filter-branch#_options). This command uses rebase to modify history and if you want to remove certain file from history altogether use: @@ -487,7 +487,7 @@ git filter-branch --tree-filter 'rm filename' HEAD Since `git filter-branch` command might be slow on big repositories, there are tools that can use some of Git specifics to enable faster execution of common tasks (which is exactly what removing sensitive information file is about). -An alternative is the open source community-maintained tool [BFG][bfg-repo-cleaner]. +An alternative is the open source community-maintained tool [BFG](https://rtyley.github.io/bfg-repo-cleaner/). Keep in mind that these tools are faster because they do not provide the same feature set as `git filter-branch` does, but focus on specific use cases. @@ -512,14 +512,3 @@ If you have none to add when creating a doc, leave this section in place but commented out to help encourage others to add to it in the future. --> - -[bfg-repo-cleaner]: https://rtyley.github.io/bfg-repo-cleaner/ -[git-autoclean-ref]: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery -[git-basics]: https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository -[git-debug]: https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git -[git-distributed]: https://git-scm.com/about/distributed -[git-filters-manual]: https://git-scm.com/docs/git-filter-branch#_options -[git-official]: https://git-scm.com/ -[gitlab]: https://gitlab.com/gitlab-org/gitlab/blob/master/CONTRIBUTING.md#contribution-acceptance-criteria -[gitlab-flow]: https://about.gitlab.com/blog/2014/09/29/gitlab-flow/ -[gitlab-git-tips-n-tricks]: https://about.gitlab.com/blog/2016/12/08/git-tips-and-tricks/ diff --git a/doc/topics/git/troubleshooting_git.md b/doc/topics/git/troubleshooting_git.md index 8270fad7086..f8d812d37e6 100644 --- a/doc/topics/git/troubleshooting_git.md +++ b/doc/topics/git/troubleshooting_git.md @@ -42,7 +42,7 @@ set to 50MB. The default is 1MB. **If pushing over SSH**, first check your SSH configuration as 'Broken pipe' errors can sometimes be caused by underlying issues with SSH (such as authentication). Make sure that SSH is correctly configured by following the -instructions in the [SSH troubleshooting] docs. +instructions in the [SSH troubleshooting](../../ssh/README.md#troubleshooting) docs. There's another option where you can prevent session timeouts by configuring SSH 'keep alive' either on the client or on the server (if you are a GitLab @@ -86,7 +86,7 @@ git push ### Upgrade your Git client In case you're running an older version of Git (< 2.9), consider upgrading -to >= 2.9 (see [Broken pipe when pushing to Git repository][Broken-Pipe]). +to >= 2.9 (see [Broken pipe when pushing to Git repository](https://stackoverflow.com/questions/19120120/broken-pipe-when-pushing-to-git-repository/36971469#36971469)). ## `ssh_exchange_identification` error @@ -168,6 +168,3 @@ The default value of `http.postBuffer`, 1 MiB, is applied if the setting is not ```shell git config http.postBuffer 524288000 ``` - -[SSH troubleshooting]: ../../ssh/README.md#troubleshooting "SSH Troubleshooting" -[Broken-Pipe]: https://stackoverflow.com/questions/19120120/broken-pipe-when-pushing-to-git-repository/36971469#36971469 "StackOverflow: 'Broken pipe when pushing to Git repository'" diff --git a/doc/user/project/repository/repository_mirroring.md b/doc/user/project/repository/repository_mirroring.md index 7c28e956e12..8064eacf404 100644 --- a/doc/user/project/repository/repository_mirroring.md +++ b/doc/user/project/repository/repository_mirroring.md @@ -28,6 +28,10 @@ immediate update, unless: - The mirror is already being updated. - 5 minutes haven't elapsed since its last update. +For security reasons, from [GitLab 12.10 onwards](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27166), +the URL to the original repository is only displayed to users with +Maintainer or Owner permissions to the mirrored project. + ## Use cases The following are some possible use cases for repository mirroring: diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 3de227fba99..278aca1bf86 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -3353,6 +3353,12 @@ msgstr "" msgid "Cannot create the abuse report. This user has been blocked." msgstr "" +msgid "Cannot make epic confidential if it contains not-confidential issues" +msgstr "" + +msgid "Cannot make epic confidential if it contains not-confidential sub-epics" +msgstr "" + msgid "Cannot merge" msgstr "" @@ -3371,6 +3377,9 @@ msgstr "" msgid "Cannot refer to a group milestone by an internal id!" msgstr "" +msgid "Cannot set confidential epic for not-confidential issue" +msgstr "" + msgid "Cannot show preview. For previews on sketch files, they must have the file format introduced by Sketch version 43 and above." msgstr "" @@ -5760,6 +5769,9 @@ msgstr "" msgid "Could not save prometheus manual configuration" msgstr "" +msgid "Could not update the LDAP settings" +msgstr "" + msgid "Could not upload your designs as one or more files uploaded are not supported." msgstr "" @@ -11585,6 +11597,9 @@ msgstr "" msgid "LDAP settings" msgstr "" +msgid "LDAP settings updated" +msgstr "" + msgid "LDAP sync in progress. This could take a few minutes. Refresh the page to see the changes." msgstr "" @@ -13598,6 +13613,9 @@ msgstr "" msgid "Not started" msgstr "" +msgid "Not-confidential epic cannot be assigned to a confidential parent epic" +msgstr "" + msgid "Note" msgstr "" @@ -17646,9 +17664,6 @@ msgstr "" msgid "Security Dashboard" msgstr "" -msgid "Security Dashboard|Error fetching the dashboard data. Please check your network connection and try again." -msgstr "" - msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again." msgstr "" @@ -17940,7 +17955,7 @@ msgstr "" msgid "Select the branch you want to set as the default for this project. All merge requests and commits will automatically be made against this branch unless you specify a different one." msgstr "" -msgid "Select the configured storaged available for new projects to be placed on." +msgid "Select the configured storage available for new repositories to be placed on." msgstr "" msgid "Select the custom project template source group." @@ -19226,7 +19241,7 @@ msgstr "" msgid "Storage" msgstr "" -msgid "Storage nodes for new projects" +msgid "Storage nodes for new repositories" msgstr "" msgid "Storage:" @@ -21969,7 +21984,7 @@ msgstr "" msgid "Use hashed storage" msgstr "" -msgid "Use hashed storage paths for newly created and renamed projects. Enable immutable, hash-based paths and repository names to store repositories on disk. This prevents repositories from having to be moved or renamed when the Project URL changes and may improve disk I/O performance." +msgid "Use hashed storage paths for newly created and renamed repositories. Enable immutable, hash-based paths and repository names to store repositories on disk. This prevents repositories from having to be moved or renamed when the Repository URL changes and may improve disk I/O performance." msgstr "" msgid "Use one line per URI" diff --git a/spec/controllers/groups/settings/ci_cd_controller_spec.rb b/spec/controllers/groups/settings/ci_cd_controller_spec.rb index 8ba7a96e1ee..b5154f4f877 100644 --- a/spec/controllers/groups/settings/ci_cd_controller_spec.rb +++ b/spec/controllers/groups/settings/ci_cd_controller_spec.rb @@ -267,7 +267,7 @@ describe Groups::Settings::CiCdController do it 'creates the deploy token' do subject - expect(response).to have_gitlab_http_status(:ok) + expect(response).to have_gitlab_http_status(:created) expect(response).to match_response_schema('public_api/v4/deploy_token') expect(json_response).to match(expected_response) end diff --git a/spec/controllers/projects/settings/ci_cd_controller_spec.rb b/spec/controllers/projects/settings/ci_cd_controller_spec.rb index 87b40a02567..8f516de3322 100644 --- a/spec/controllers/projects/settings/ci_cd_controller_spec.rb +++ b/spec/controllers/projects/settings/ci_cd_controller_spec.rb @@ -300,7 +300,7 @@ describe Projects::Settings::CiCdController do it 'creates the deploy token' do subject - expect(response).to have_gitlab_http_status(:ok) + expect(response).to have_gitlab_http_status(:created) expect(response).to match_response_schema('public_api/v4/deploy_token') expect(json_response).to match(expected_response) end diff --git a/spec/frontend/diffs/components/commit_item_spec.js b/spec/frontend/diffs/components/commit_item_spec.js index 6bb3a0dcf21..517d050eb54 100644 --- a/spec/frontend/diffs/components/commit_item_spec.js +++ b/spec/frontend/diffs/components/commit_item_spec.js @@ -59,7 +59,9 @@ describe('diffs/components/commit_item', () => { expect(titleElement.text()).toBe(commit.title_html); }); - it('renders commit description', () => { + // https://gitlab.com/gitlab-org/gitlab/-/issues/209776 + // eslint-disable-next-line jest/no-disabled-tests + it.skip('renders commit description', () => { const descElement = getDescElement(); const descExpandElement = getDescExpandElement(); diff --git a/spec/frontend/snippets/components/snippet_header_spec.js b/spec/frontend/snippets/components/snippet_header_spec.js index 878baab9cac..1b67c08e5a4 100644 --- a/spec/frontend/snippets/components/snippet_header_spec.js +++ b/spec/frontend/snippets/components/snippet_header_spec.js @@ -1,7 +1,7 @@ import SnippetHeader from '~/snippets/components/snippet_header.vue'; import DeleteSnippetMutation from '~/snippets/mutations/deleteSnippet.mutation.graphql'; import { ApolloMutation } from 'vue-apollo'; -import { GlDeprecatedButton, GlModal } from '@gitlab/ui'; +import { GlNewButton, GlModal } from '@gitlab/ui'; import { shallowMount } from '@vue/test-utils'; describe('Snippet header component', () => { @@ -89,7 +89,7 @@ describe('Snippet header component', () => { updateSnippet: false, }, }); - expect(wrapper.findAll(GlDeprecatedButton).length).toEqual(0); + expect(wrapper.findAll(GlNewButton).length).toEqual(0); createComponent({ permissions: { @@ -97,7 +97,7 @@ describe('Snippet header component', () => { updateSnippet: false, }, }); - expect(wrapper.findAll(GlDeprecatedButton).length).toEqual(1); + expect(wrapper.findAll(GlNewButton).length).toEqual(1); createComponent({ permissions: { @@ -105,7 +105,7 @@ describe('Snippet header component', () => { updateSnippet: true, }, }); - expect(wrapper.findAll(GlDeprecatedButton).length).toEqual(2); + expect(wrapper.findAll(GlNewButton).length).toEqual(2); createComponent({ permissions: { @@ -117,7 +117,7 @@ describe('Snippet header component', () => { canCreateSnippet: true, }); return wrapper.vm.$nextTick().then(() => { - expect(wrapper.findAll(GlDeprecatedButton).length).toEqual(3); + expect(wrapper.findAll(GlNewButton).length).toEqual(3); }); }); diff --git a/spec/lib/gitlab/import_export/safe_model_attributes.yml b/spec/lib/gitlab/import_export/safe_model_attributes.yml index 7190d84573e..653b011084e 100644 --- a/spec/lib/gitlab/import_export/safe_model_attributes.yml +++ b/spec/lib/gitlab/import_export/safe_model_attributes.yml @@ -845,6 +845,7 @@ Epic: - due_date_sourcing_epic_id - health_status - external_key + - confidential EpicIssue: - id - relative_position