Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-06-30Improve support for external issue referencesAdam Niedzielski
2017-06-21Enable Style/DotPosition Rubocop :cop:Grzegorz Bizon
2017-06-06Merge branch 'pull-mirror-overhaul-ce-backport' into 'master'Douwe Maan
backports changed import logic from pull mirroring feature into CE See merge request !11850
2017-06-06backports changed import logic from pull mirroring feature into CETiago Botelho
2017-06-02Lint our factories creation in addition to their buildRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-05-29Merge branch 'rework-authorizations-performance' into 'master'Douwe Maan
Rework project authorizations and nested groups for better performance See merge request !10885
2017-05-18If TestEnv#set_repo_refs fails, clean test repos and retryRémy Coutable
Sometimes, new references are not retrieved when a `git fetch` is called in a bare repos. The easiest solution is to cleanup the test repos and retry in this case. This only happens when a new ref is added to TestEnv::BRANCH_SHA or TestEnv::FORKED_BRANCH_SHA. Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-05-18Factorize TestEvent#copy_repoRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-05-17Use CTEs for nested groups and authorizationsYorick Peterse
This commit introduces the usage of Common Table Expressions (CTEs) to efficiently retrieve nested group hierarchies, without having to rely on the "routes" table (which is an _incredibly_ inefficient way of getting the data). This requires a patch to ActiveRecord (found in the added initializer) to work properly as ActiveRecord doesn't support WITH statements properly out of the box. Unfortunately MySQL provides no efficient way of getting nested groups. For example, the old routes setup could easily take 5-10 seconds depending on the amount of "routes" in a database. Providing vastly different logic for both MySQL and PostgreSQL will negatively impact the development process. Because of this the various nested groups related methods return empty relations when used in combination with MySQL. For project authorizations the logic is split up into two classes: * Gitlab::ProjectAuthorizations::WithNestedGroups * Gitlab::ProjectAuthorizations::WithoutNestedGroups Both classes get the fresh project authorizations (= as they should be in the "project_authorizations" table), including nested groups if PostgreSQL is used. The logic of these two classes is quite different apart from their public interface. This complicates development a bit, but unfortunately there is no way around this. This commit also introduces Gitlab::GroupHierarchy. This class can be used to get the ancestors and descendants of a base relation, or both by using a UNION. This in turn is used by methods such as: * Namespace#ancestors * Namespace#descendants * User#all_expanded_groups Again this class relies on CTEs and thus only works on PostgreSQL. The Namespace methods will return an empty relation when MySQL is used, while User#all_expanded_groups will return only the groups a user is a direct member of. Performance wise the impact is quite large. For example, on GitLab.com Namespace#descendants used to take around 580 ms to retrieve data for a particular user. Using CTEs we are able to reduce this down to roughly 1 millisecond, returning the exact same data. == On The Fly Refreshing Refreshing of authorizations on the fly (= when users.authorized_projects_populated was not set) is removed with this commit. This simplifies the code, and ensures any queries used for authorizations are not mutated because they are executed in a Rails scope (e.g. Project.visible_to_user). This commit includes a migration to schedule refreshing authorizations for all users, ensuring all of them have their authorizations in place. Said migration schedules users in batches of 5000, with 5 minutes between every batch to smear the load around a bit. == Spec Changes This commit also introduces some changes to various specs. For example, some specs for ProjectTeam assumed that creating a personal project would _not_ lead to the owner having access, which is incorrect. Because we also no longer refresh authorizations on the fly for new users some code had to be added to the "empty_project" factory. This chunk of code ensures that the owner's permissions are refreshed after creating the project, something that is normally done in Projects::CreateService.
2017-05-01Update Carrierwave and fog-coreZeger-Jan van de Weg
2017-03-08Raise an exception if creating a test repository failsNick Thomas
2017-03-07Added Prometheus Service and Prometheus graphsKamil Trzciński
2017-03-06DRY up {jira,kubernets}_project factoriesSean McGivern
2017-03-02Delete hooks from project with empty repositoryDouwe Maan
2017-02-24Rename commit_file, commit_dir and remove_file and update specsDouwe Maan
2017-02-05Add traits for ProjectFeatures to Project factorySemyon Pupkov
https://gitlab.com/gitlab-org/gitlab-ce/issues/24007
2017-01-26Merge remote-tracking branch 'upstream/master' into ↵Lin Jen-Shin
fix-git-hooks-when-creating-file * upstream/master: (1122 commits) Update CHANGELOG.md for 8.16.2 Display project ID in project settings (!8572) fixed points from comments to improve code quality Update CHANGELOG.md for 8.14.8 Statisfy eslint Add CHANGELOG entry Fix access to the wiki code via HTTP when repository feature disabled Display fullscreen button on small screens (!5302) Prevent removing fields from dropdowns on input elements fix for all themes Return struct instead of multiple values Fix race conditions for AuthorizedProjectsWorker Add User#nested_groups and User#nested_projects methods Fix spec failure due to timestamp ordering issue in mySQL Fixed error with filter keyboard tests `can?` already includes the `feature_available?` check Test there is no Merge Request button when MRs are disabled Ensure the correct Merge Request button is found Add 409 conflict tests Add CHANGELOG ...
2017-01-18Add a `:repository` trait to the `:empty_project` factoryRobert Speicher
Right now this is a no-op. We're going to add it as a trait argument to all existing usages of the `:project` factory, so that later we can flip `:empty_project` to just be `:project`, forcing developers to opt-in to the slower option when their tests truly require it.
2017-01-04Merge branch 'master' into fix-git-hooks-when-creating-fileLin Jen-Shin
* master: (1031 commits) Add changelog entry for renaming API param [ci skip] Add missing milestone parameter Refactor issues filter in API Fix project hooks params Gitlab::LDAP::Person uses LDAP attributes configuration Don't delete files from spec/fixtures Copy, don't move uploaded avatar files Minor improvements to changelog docs Rename logo, apply for Slack too Fix Gemfile.lock for the octokit update Fix cross-project references copy to include the project reference Add logo in public files Use stable icon for Mattermost integration rewrite the item.respond_to?(:x?) && item.x? to item.try(:x?) API: extern_uid is a string Increases pipeline graph drowdown width in order to prevent strange position on chrome on ubuntu Removed bottom padding from merge manually from CLI because of repositioning award emoji's Make haml_lint happy Improve spec Add feature tests for Cycle Analytics ...
2017-01-04Move dashboard archived projects spinach tests to rspecSemyon Pupkov
https://gitlab.com/gitlab-org/gitlab-ce/issues/23036
2016-12-20Add terminal UI and controller actionsFatih Acet
2016-12-19Add terminals to the Kubernetes deployment serviceNick Thomas
2016-12-15Introduce deployment services, starting with a KubernetesServiceNick Thomas
2016-12-08Fix tests to use the new APILin Jen-Shin
2016-11-11Make access request specs explicitly enable or disable access requests as ↵Nick Thomas
required
2016-11-09Merge branch 'fix-unathorized-cloning' into 'security'Douwe Maan
Ensure external users are not able to clone disabled repositories. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/23788 See merge request !2017 Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-10-26Finish updates to use JIRA gemFelipe Artur
Code improvements, bug fixes, finish documentation and specs
2016-10-17Add visibility level to project repositoryFelipe Artur
2016-10-11Update Boards::CreateService to handle with the has_many associationDouglas Barbosa Alexandre
2016-10-07Add markdown cache columns to the database, but don't use them yetNick Thomas
This commit adds a number of _html columns and, with the exception of Note, starts updating them whenever the content of their partner fields changes. Note has a collision with the note_html attr_accessor; that will be fixed later A background worker for clearing these cache columns is also introduced - use `rake cache:clear` to set it off. You can clear the database or Redis caches separately by running `rake cache:clear:db` or `rake cache:clear:redis`, respectively.
2016-09-29fix broken repo 500 errors in UI and added relevant specsJames Lopez
2016-09-26Improve project_with_board factory to create the default listsDouglas Barbosa Alexandre
2016-09-01Project tools visibility levelFelipe Artur
2016-08-17Add service to create a new board for a projectDouglas Barbosa Alexandre
2016-07-06Fix typo in factory for projects.rbYatish Mehta
2016-06-14Remove deprecated issues_tracker and issues_tracker_id from projectDouglas Barbosa Alexandre
2016-05-09Remove the annotate gem and delete old annotationsJeroen van Baarsen
In 8278b763d96ef10c6494409b18b7eb541463af29 the default behaviour of annotation has changes, which was causing a lot of noise in diffs. We decided in #17382 that it is better to get rid of the whole annotate gem, and instead let people look at schema.rb for the columns in a table. Fixes: #17382
2016-05-09Merge branch 'rs-backport-ee-372' into 'master' Rémy Coutable
Backport changes from gitlab-org/gitlab-ee!372 Mostly replaces several Spinach tests with RSpec Feature tests. See merge request !4043
2016-05-08Remove `wall_enabled` field from ProjectRobert Speicher
2016-05-05Backport changes from gitlab-org/gitlab-ee!372Robert Speicher
Mostly replaces several Spinach tests with RSpec Feature tests.
2016-01-06Annotate modelsStan Hu
2015-12-09Update annotationsStan Hu
2015-08-02Re-annotate modelsAtsushi Ishida
2015-04-30Add jira_project project factoryRobert Speicher
2015-04-28Fix "Revspec not found" errors when viewing diffs in a forked project with ↵Stan Hu
submodules Closes #1413
2015-02-02Annotate modelsDmitriy Zaporozhets
2015-01-27Make issue tracker service fields required.Marin Jankovski
2015-01-27Update rspec tests to the new external issue logic.Marin Jankovski
2015-01-22Annotate modelsDmitriy Zaporozhets
2014-11-30Improve project factoriesDmitriy Zaporozhets
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>