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
2018-01-19Resolve "Projects API: filter 'with_issues_enabled=true' returns projects ↵Jan Christophersen
with 'issues_enabled=false'"
2017-12-22Replace '.team << [user, role]' with 'add_role(user)' in specsblackst0ne
2017-11-16Adds Rubocop rule for line break after guard clauseJacopo
Adds a rubocop rule (with autocorrect) to ensure line break after guard clauses.
2017-11-09Merge branch '36099-api-responses-missing-x-content-type-options-header' ↵Douwe Maan
into '10-1-stable' Include X-Content-Type-Options (XCTO) header into API responses See merge request gitlab/gitlabhq!2211 (cherry picked from commit 6c818e77f2abeef2dd7b17a269611b018701fa79) e087e075 Include X-Content-Type-Options (XCTO) header into API responses
2017-11-06Support custom attributes on projectsMarkus Koller
2017-10-20Refactor `have_http_status` into `have_gitlab_http_status` in the specsJacopo
2017-10-07Add a project forks spec helperBob Van Landuyt
The helper creates a fork of a project with all provided attributes, but skipping the creation of the repository on disk.
2017-09-26Expose avatar_url when requesting list of projects from API with simple=trueDouwe Maan
2017-09-20Add an API endpoint to determine the forks of a projectMark Fletcher
2017-09-14Use the new query-recorder features as a PoCBob Van Landuyt
2017-09-07Merge branch '23079-remove-default-scope-in-sortable' into 'master'Douwe Maan
Removes default scope from sortable Closes #23079 See merge request !13558
2017-09-07Removes default scope from sortableTiago Botelho
2017-09-06Tidy up projects API specsSean McGivern
2017-09-06change collapse to resolve and comments to discussionsAshley Dumaine
2017-09-06add unit tests for new collapse_outdated_diff_comments toggleAshley Dumaine
2017-08-29Add a spec when ressource is not modifiedRobert Schilling
2017-08-28Add tests for the unmodified headerRobert Schilling
2017-08-14Cache the number of forks of a projectYorick Peterse
The number of forks of a project doesn't change very frequently and running a COUNT(*) every time this information is requested can be quite expensive. We also end up running such a COUNT(*) query at least twice on the homepage of a project. By caching this data and refreshing it when necessary we can reduce project homepage loading times by around 60 milliseconds (based on the timings of https://gitlab.com/gitlab-org/gitlab-ce).
2017-08-10Improve the Project factory to make `creator` defaults to namespace.ownerRémy Coutable
Also improves the `create_templates` transient attribute and use `project.project_feature.update_columns` instead of `project.project_feature.update_attributes!` since it's faster. Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-08-03Expose more attributes to unauthenticated GET /projects/:idTony
2017-08-03Change all `:empty_project` to `:project`Robert Speicher
2017-07-27Fix the /projects/:id/repository/branches endpoint to handle dots in the ↵Rémy Coutable
branch name when the project full patch contains a `/` Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-07-25Resolve "More RESTful API: include resource URLs in responses"Oswaldo Ferreira
2017-07-24Support both internal and external issue trackersJarka Kadlecova
2017-07-18Update specs for new upload pathBob Van Landuyt
2017-07-07Fix some N+1 queries in the GET /projects APIRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-07-06Merge branch '33657-user-projects-api' into 'master'Rémy Coutable
Add user projects API Closes #33657 See merge request !12596
2017-07-06Add user projects APIvanadium23
2017-07-05Rename ci_config_file to ci_config_pathLin Jen-Shin
2017-06-30Merge remote-tracking branch 'upstream/master' into ↵Lin Jen-Shin
32815--Add-Custom-CI-Config-Path * upstream/master: (123 commits) Backport changes to Projects::IssuesController and the search bar bugfix: use `require_dependency` to bring in DeclarativePolicy Resolve "Select branch dropdown is too close to branch name" Clean up issuable lists Defer project destroys within a namespace in Groups::DestroyService#async_execute Fixed new navgiation bar logo height in Safari Resolve "Issue dropdown persists when adding issue number to issue description" Move verification to block level instead of paragraph Revert "Merge branch 'dm-drop-default-scope-on-sortable-finders' into 'master'" Added code for defining SHA attributes Minor edits Job details won't scroll horizontally to show long lines Run mysql tests on stable preperation branches like 9-3-stable-patch-2 Bring back branches badge to main project page optimize translation content based on comments supplement traditional chinese in taiwan translation Inserts exact matches of username, email and name to the top of the user search list Remove Namespace model default scope override and write additional test to Project search optimize translation content based on comments Limit OpenGraph image size to 64x64 ...
2017-06-29Add parent_id back to the testsOswaldo Ferreira
2017-06-28Rename members_count to members_count_with_descendants and expose only to ↵Oswaldo Ferreira
group admins
2017-06-28Adjust projects spec on namespace fieldsOswaldo Ferreira
2017-06-28Merge remote-tracking branch 'upstream/master' into ↵Lin Jen-Shin
15041-Add-Custom-CI-Config-Path * upstream/master: (12506 commits) Update CHANGELOG.md for 9.3.2 Update architecture.md Fix changelog entry file extension Fix head pipeline stored in merge request for external pipelines updated gitlab-ci.yml to compile locale Ignore JSON files generated from PO files Update mmap2 gem tha disables mmap_obj.gsub! as current implementation uses method that is no longer part of Ruby API Disable rainbow during SimpleExecutor specs to have consistence Slightly refactor pipeline schedules form in preparation for additions Resolve "Submitting reply to existing diff discussion using Cmd/Ctrl+Enter submits twice and refreshes page" Make the SimpleExecutor rescue exceptions in the executing Checks Resolve "Unable to access edit comment from dropdown menu in certain screen sizes" Update changelog item revert removal of requestAnimationFrame and move to a separate MR/discussion rename getEmojiCategoryMap and remove unnecessary parameter Action Buttons on Prio Labels working again by setting pointer events to none on… Remove 'contains' option from Commit.find_all Remove Gitlab::Git::Repository#find_all Use latest chrome and chrome driver in GitLab QA Polish sidebar toggle ...
2017-06-21Enable Style/DotPosition Rubocop :cop:Grzegorz Bizon
2017-06-14Correct RSpec/SingleLineHook cop offensesRobert Speicher
2017-06-09Accept image for avatar in project APIvanadium23
2017-06-06Introduce an Events APIMark Fletcher
* Meld the following disparate endpoints: * `/projects/:id/events` * `/events` * `/users/:id/events` + Add result filtering to the above endpoints: * action * target_type * before and after dates
2017-06-06Fix Projects API specRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-06-03Merge branch 'projects-api-import-status' into 'master'Douwe Maan
Expose import_status in Projects API Closes #19646 See merge request !11851
2017-06-02Expose import_status in Projects APIRobin Bobbitt
2017-06-02Fix missing optional path parameter in "Create project for user" APIAthar Hameed
2017-05-31Add tag_list param to project apivanadium23
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-10Enable the Style/TrailingCommaInLiteral copRémy Coutable
Use the EnforcedStyleForMultiline: no_comma option. Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-05-03Expose project statistics on single requests via the APIMark Fletcher
+ The statistics parameter was already accepted * This commit ensure that it is respected for GET /projects/:id endpoint + Add documentation of the parameter and update the example response for stats
2017-04-24Merge branch 'jacopo-beschi/gitlab-ce-29712-unnecessary-wait-for-ajax'Rémy Coutable
See merge request !10567 Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-04-21Unnecessary "include WaitForAjax" and "include ApiHelpers"Jacopo
Removed all the unnecessary include of `WaitForAjax` and `ApiHelpers` in the specs. Removed unnecessary usage of `api:true`
2017-04-20Add missing newlineswinniehell
2017-04-20Add missing newlineswinniehell