- 07 Jun, 2017 8 commits
-
-
Kamil Trzcinski authored
-
Kamil Trzcinski authored
-
Kamil Trzcinski authored
-
Kamil Trzcinski authored
-
Kamil Trzcinski authored
-
Kamil Trzciński authored
Initial implementation for real time job view Closes #31397 See merge request !11651
-
Kamil Trzcinski authored
-
Kamil Trzcinski authored
-
- 06 Jun, 2017 26 commits
-
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Sean Packham authored
Split Jenkins docs See merge request !2045
-
Achilleas Pipinellis authored
-
Sean Packham authored
Add PowerShell to CI variable docs See merge request !2044
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Rémy Coutable authored
Speed up checking for approvers remaining Closes #1843 and #2448 See merge request !2032
-
John Spaetzel authored
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Douwe Maan authored
Stop using sidekiq-cron for scheduling all project mirror pull and move to adaptive scheduling Closes gitlab-ce#29218 See merge request !1853
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Sean McGivern authored
Implement server-wide Audit Logging admin screen Closes #2336 See merge request !1852
-
James Lopez authored
-
Grzegorz Bizon authored
Resolve "Approvers don't appear when MR is created from a fork" Closes #2556 See merge request !2035
-
Sean Packham authored
Remove references to old settings location See merge request !2043
-
Achilleas Pipinellis authored
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Fatih Acet authored
re-add avatar url to approver avatar Closes #2560 See merge request !2034
-
Grzegorz Bizon authored
-
Sean McGivern authored
The `users_select_tag` helper defaults to using `@project`, which in this case is the source project, not the target project. Explicitly use the target project to get the right list of users.
-
Sean McGivern authored
1. Use the ProjectAuthorization model to find users with developer access to this project. This is dramatically faster than the old version, with the complicated ORs, on staging: ~10ms vs ~800ms. 2. Use `to_a` explicitly when checking `any?` on a relation. Refactoring out the `any?` checks would be painful, but as we often use the results anyway, `to_a` lets us save a query. Adding this up gets us the below (for a MR on the gitlab-ce project in staging). Before: Project Load (2.3ms) SELECT "projects".* FROM "projects" WHERE "projects"."pending_delete" = 'f' AND "projects"."id" = 13083 ORDER BY "projects"."id" DESC LIMIT 1 [["pending_delete", false], ["id", 13083]] Approver Exists (1.2ms) SELECT 1 AS one FROM "approvers" WHERE "approvers"."target_id" = 2294769 AND "approvers"."target_type" = 'MergeRequest' LIMIT 1 [["target_id", 2294769], ["target_type", "MergeRequest"]] ApproverGroup Exists (0.8ms) SELECT 1 AS one FROM "approver_groups" WHERE "approver_groups"."target_id" = 2294769 AND "approver_groups"."target_type" = 'MergeRequest' LIMIT 1 [["target_id", 2294769], ["target_type", "MergeRequest"]] User Load (2.7ms) SELECT "users".* FROM "users" WHERE "users"."id" = 840794 ORDER BY "users"."id" DESC LIMIT 1 [["id", 840794]] Approver Load (0.9ms) SELECT "approvers".* FROM "approvers" WHERE "approvers"."target_id" = 13083 AND "approvers"."target_type" = 'Project' AND ("approvers"."user_id" != 840794) [["target_id", 13083], ["target_type", "Project"], ["user_id", 840794]] Approver Exists (0.6ms) SELECT 1 AS one FROM "approvers" WHERE "approvers"."target_id" = 2294769 AND "approvers"."target_type" = 'MergeRequest' LIMIT 1 [["target_id", 2294769], ["target_type", "MergeRequest"]] ApproverGroup Exists (0.6ms) SELECT 1 AS one FROM "approver_groups" WHERE "approver_groups"."target_id" = 2294769 AND "approver_groups"."target_type" = 'MergeRequest' LIMIT 1 [["target_id", 2294769], ["target_type", "MergeRequest"]] ApproverGroup Load (0.7ms) SELECT "approver_groups".* FROM "approver_groups" WHERE "approver_groups"."target_id" = 13083 AND "approver_groups"."target_type" = 'Project' [["target_id", 13083], ["target_type", "Project"]] Group Load (1.3ms) SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."deleted_at" IS NULL AND "namespaces"."type" IN ('Group') AND "namespaces"."id" = 9970 AND "namespaces"."type" IN ('Group') AND "namespaces"."type" = 'Group' ORDER BY "namespaces"."id" DESC LIMIT 1 [["id", 9970], ["type", "Group"]] (1222.4ms) SELECT COUNT(*) FROM "users" WHERE ("users"."state" IN ('active')) AND ("users"."ghost" = 'f' OR "users"."ghost" IS NULL) AND ("users"."support_bot" = 'f' OR "users"."support_bot" IS NULL) AND ((id IN (SELECT "members"."user_id" FROM "members" WHERE "members"."source_type" = 'Project' AND "members"."type" IN ('ProjectMember') AND "members"."source_id" = 13083 AND "members"."source_type" = 'Project' AND "members"."type" IN ('ProjectMember') AND "members"."requested_at" IS NULL AND (access_level > 20) ORDER BY "members"."id" DESC) OR id IN (SELECT "members"."user_id" FROM "members" WHERE "members"."source_type" = 'Namespace' AND "members"."type" IN ('GroupMember') AND "members"."source_id" = 9970 AND "members"."source_type" = 'Namespace' AND "members"."type" IN ('GroupMember') AND "members"."requested_at" IS NULL AND (access_level > 20) ORDER BY "members"."id" DESC)) AND id NOT IN (SELECT "approvals"."user_id" FROM "approvals" WHERE "approvals"."merge_request_id" = 2294769)) AND ("users"."id" != 840794) [["id", 840794]] After: Project Load (2.5ms) SELECT "projects".* FROM "projects" WHERE "projects"."pending_delete" = 'f' AND "projects"."id" = 13083 ORDER BY "projects"."id" DESC LIMIT 1 [["pending_delete", false], ["id", 13083]] Approver Load (1.3ms) SELECT "approvers".* FROM "approvers" WHERE "approvers"."target_id" = 2294769 AND "approvers"."target_type" = 'MergeRequest' [["target_id", 2294769], ["target_type", "MergeRequest"]] ApproverGroup Load (1.5ms) SELECT "approver_groups".* FROM "approver_groups" WHERE "approver_groups"."target_id" = 2294769 AND "approver_groups"."target_type" = 'MergeRequest' [["target_id", 2294769], ["target_type", "MergeRequest"]] User Load (2.9ms) SELECT "users".* FROM "users" WHERE "users"."id" = 840794 ORDER BY "users"."id" DESC LIMIT 1 [["id", 840794]] Approver Load (0.9ms) SELECT "approvers".* FROM "approvers" WHERE "approvers"."target_id" = 13083 AND "approvers"."target_type" = 'Project' AND ("approvers"."user_id" != 840794) [["target_id", 13083], ["target_type", "Project"], ["user_id", 840794]] ApproverGroup Load (0.7ms) SELECT "approver_groups".* FROM "approver_groups" WHERE "approver_groups"."target_id" = 13083 AND "approver_groups"."target_type" = 'Project' [["target_id", 13083], ["target_type", "Project"]] (6.2ms) SELECT COUNT(*) FROM "users" WHERE ("users"."state" IN ('active')) AND ("users"."ghost" = 'f' OR "users"."ghost" IS NULL) AND ("users"."support_bot" = 'f' OR "users"."support_bot" IS NULL) AND ((id IN (SELECT "project_authorizations"."user_id" FROM "project_authorizations" WHERE (project_id = 13083 AND access_level > 20))) AND id NOT IN (SELECT "approvals"."user_id" FROM "approvals" WHERE "approvals"."merge_request_id" = 2294769)) AND ("users"."id" != 840794) [["id", 840794]]
-
- 05 Jun, 2017 6 commits
-
-
Tiago Botelho authored
-
Douwe Maan authored
Per user/group access levels for Protected Tags Closes #2132 See merge request !1629
-
Douwe Maan authored
Fix '/unassign' slash command Closes #2470 and #2516 See merge request !1986
-
Robert Speicher authored
[EE] Enable the Style/PreferredHashMethods cop See merge request !2023
-
Tiago Botelho authored
-
Tiago Botelho authored
-