summaryrefslogtreecommitdiff
path: root/app
Commit message (Collapse)AuthorAgeFilesLines
* Allow owners to fetch source code in CI buildsallow-owner-to-run-ci-buildsKamil Trzcinski2016-11-011-4/+8
| | | | Due to different way of handling owners of a project, they were not allowed to fetch CI sources for project.
* Merge branch 'mr-copy-filename-btn-update' into 'master' Fatih Acet2016-11-013-2/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updated positioning of copy file path button in diffs ## What does this MR do? Updated the positioning of the copy file path button in diffs. ## Screenshots (if relevant) ![Screen_Shot_2016-10-31_at_16.53.24](/uploads/53de39ce550855f86b90d2d9fc227f95/Screen_Shot_2016-10-31_at_16.53.24.png) ## What are the relevant issue numbers? Closes #23591 See merge request !7203
| * Updated positioning of copy file path button in diffsmr-copy-filename-btn-updatePhil Hughes2016-10-313-2/+4
| | | | | | | | Closes #23591
* | Merge branch '20892-commit-info' into 'master' Fatih Acet2016-10-3110-60/+126
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolve "Clean up commit meta info view" Updates commit page design Before: ![Screen_Shot_2016-10-19_at_10.20.10_AM](/uploads/8737a9db01bffc019d8b2c71a943024b/Screen_Shot_2016-10-19_at_10.20.10_AM.png) After: ![Screen_Shot_2016-10-19_at_10.20.01_AM](/uploads/716cb902bd20dedc705a8f81f6536736/Screen_Shot_2016-10-19_at_10.20.01_AM.png) ![Screen_Shot_2016-10-19_at_10.27.01_AM](/uploads/4228575f50990a88bc828037d8fb99f2/Screen_Shot_2016-10-19_at_10.27.01_AM.png) Closes #20892 See merge request !6994
| * | Display last pipeline infoAnnabel Dunstone Gray2016-10-282-2/+1
| | |
| * | Fix commits specAnnabel Dunstone Gray2016-10-281-3/+3
| | |
| * | Fix mobile viewAnnabel Dunstone Gray2016-10-282-6/+3
| | |
| * | Finish styling commits viewAnnabel Dunstone Gray2016-10-289-31/+85
| | |
| * | Rearrange commit info viewAnnabel Dunstone Gray2016-10-282-33/+49
| | |
* | | Merge branch 'issue_23951' into 'master' Sean McGivern2016-10-311-1/+5
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | Fix builds tab visibility closes #23951 See merge request !7178
| * | Fix builds tab visibilityissue_23951Felipe Artur2016-10-311-1/+5
| | |
* | | Merge branch 'master' into 'add-retry-limit-project-webhook'add-retry-limit-project-webhookDouwe Maan2016-10-31397-935/+2200
|\ \ \ | | | | | | | | | | | | # Conflicts: # app/workers/project_web_hook_worker.rb
| * \ \ Merge branch '22271-drone-tag-pipeline-build' into 'master' Douwe Maan2016-10-318-20/+20
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix lightweight tags not processed correctly by GitTagPushService ## What does this MR do? Fix lightweight tags not processed correctly by GitTagPushService ## Are there points in the code the reviewer needs to double check? No ## Why was this MR needed? Lightweight tags were being processed incorrectly, causing tag triggers to receive wrong information and not function properly. ## Does this MR meet the acceptance criteria? - [ ] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [ ] API support added - Tests - [ ] Added for this feature/bug - [ ] All builds are passing - [ ] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html) - [ ] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [ ] Branch has no merge conflicts with `master` (if you do - rebase it please) - [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) ## What are the relevant issue numbers? Closes #22271 See merge request !6532
| | * | | Fix lightweight tags not processed correctly by GitTagPushService22271-drone-tag-pipeline-buildAlejandro Rodríguez2016-10-288-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we updated gitlab_git to 10.4.1, `tag.target` changed from pointing to the sha of the tag to the sha of the commit the tag points to. The problem is that only annotated tags have `object_sha`s, lightweight tags don't (it's nil), so (only) in their case we still need to use `tag.target`.
| * | | | Merge branch '23106-events-default-scope-results-in-a-slow-query' into 'master' Yorick Peterse2016-10-311-1/+1
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Optimize Event queries by removing default order See merge request !7130
| | * | | | Optimize Event queries by removing default order23106-events-default-scope-results-in-a-slow-queryAlejandro Rodríguez2016-10-271-1/+1
| | | | | |
| * | | | | Merge branch 'lfs_object_removal' into 'master' 23858-task-listsSean McGivern2016-10-312-0/+14
| |\ \ \ \ \ | | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove unreferenced LFS objects from DB and fs Fixes #3666 See merge request !5901
| | * | | | Remove unreferenced LFS objects from DB and fsFrank Groeneveld2016-10-282-0/+14
| | | |_|/ | | |/| |
| * | | | Merge branch 'sticky-mr-tabs-pinned-nav' into 'master' Fatih Acet2016-10-281-0/+12
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed sticky MR tabs positioning when sidebar is pinned ## What does this MR do? The sticky MR tabs where positioned underneath the pinned sidebar. This fixes that by accounting for the size of the pinned nav. ## Screenshots (if relevant) ![Screen_Shot_2016-10-28_at_09.37.18](/uploads/0d23f2bb0e02d698c012c22c8653afd7/Screen_Shot_2016-10-28_at_09.37.18.png) ## What are the relevant issue numbers? Closes #23926 See merge request !7167
| | * | | | Fixed sticky MR tabs positioning when sidebar is pinnedsticky-mr-tabs-pinned-navPhil Hughes2016-10-291-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | Closes #23926
| * | | | | Merge branch 'dropdown-input-fix' into 'master' Fatih Acet2016-10-281-3/+8
| |\ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not allow text input in dropdown while loading ## What does this MR do? It moves the focus event of the text input of a filterable dropdown to after loading of options is complete. After the fix, the user cannot edit the while it's greyed out and loading. ## Are there points in the code the reviewer needs to double check? ## Why was this MR needed? It fixes the bug in https://gitlab.com/gitlab-org/gitlab-ce/issues/23496. ## Screenshots (if relevant) ![https://gitlab.com/gitlab-org/gitlab-ce/uploads/a7bc2f0228fcde5a85cccb333b52f0e3/2016-10-18_12.00.54.gif](https://gitlab.com/gitlab-org/gitlab-ce/uploads/a7bc2f0228fcde5a85cccb333b52f0e3/2016-10-18_12.00.54.gif) ## What are the relevant issue numbers? Fixes #23496 See merge request !7054
| | * | | | Do not allow text input in dropdown while loadingIdo Leibovich2016-10-281-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | While loading, the entire dropdown is greyed out. However, The focus is on the text input, so user can input text. Move the focus event to after loading finished to fix this.
| * | | | | Merge branch '23849-pipeline-graph-bug' into 'master' Fatih Acet2016-10-281-2/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only remove right connector of first build of last stage Only remove right connector of first build of last stage. Closes #23849 See merge request !7179
| | * | | | | Only remove right connector of first build of last stage23849-pipeline-graph-bugAnnabel Dunstone Gray2016-10-281-2/+1
| | | | | | |
| * | | | | | Merge branch 'dz-internal-api-fullpath' into 'master' Dmitriy Zaporozhets2016-10-281-0/+14
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make internal api work with full repo path and name ## What does this MR do? Make internal api work with full repo path and name ## Why was this MR needed? So we can pass full repository path on filesystem from gitlab-shell instead of extracted one. We need this for nested groups support where project is can be nested under several groups. ## What are the relevant issue numbers? https://gitlab.com/gitlab-org/gitlab-ce/issues/2772 See merge request !7148
| | * | | | | | Refactor storage path extraction from full repo pathdz-internal-api-fullpathDmitriy Zaporozhets2016-10-281-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
| * | | | | | | Merge branch 'cycle-analytics-bundle' into 'master' Fatih Acet2016-10-282-0/+4
| |\ \ \ \ \ \ \ | | |_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create cycle analytics bundle ## What does this MR do? Currently the cycle analytics file is being included in our application.js file & therefore including VueJS in application.js. This MR creates a cycle analytics bundle and only includes it on the cycle analytics page. See merge request !7176
| | * | | | | | Create cycle analytics bundlePhil Hughes2016-10-282-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This prevents VueJS being included in application.js & therefore included on everypage
| * | | | | | | Merge branch '22392-add-x-of-y-tasks-completed-on-issuable' into 'master' Sean McGivern2016-10-289-8/+35
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add "x of y tasks completed" on issuable Closes #22392 See merge request !6527
| | * | | | | | | add "x of y tasks completed" on issuableGuilherme Salazar2016-10-289-8/+35
| | | |_|_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix issues pointed out in !6527 add task completion status feature to CHANGELOG
| * | | | | | | Merge branch ↵Stan Hu2016-10-281-5/+16
| |\ \ \ \ \ \ \ | | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'ee-1159-allow-permission-check-bypass-in-approve-access-request-service' into 'master' Allow Members::ApproveAccessRequestService to accept a new `:force` option ## What does this MR do? See the commit message. This is a backport of the EE fix for https://gitlab.com/gitlab-org/gitlab-ee/issues/1159: gitlab-org/gitlab-ee!830 See merge request !7168
| | * | | | | | Allow Members::ApproveAccessRequestService to accept a new :force paramee-1159-allow-permission-check-bypass-in-approve-access-request-serviceRémy Coutable2016-10-281-5/+16
| | | |_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This param allows to bypass permission check. It is useful for LDAP-sync where even owners don't have the :admin_group_member permission. See https://gitlab.com/gitlab-org/gitlab-ee/blob/6081c37123abae4570f78831b33c2f45f92c2765/app/policies/group_policy.rb#L38 and https://gitlab.com/gitlab-org/gitlab-ee/issues/1159 Signed-off-by: Rémy Coutable <remy@rymai.me>
| * | | | | | Merge branch ↵Rémy Coutable2016-10-281-8/+2
| |\ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | '23872-members-of-group-that-has-project-access-getting-404-on-accessing-a-project-issue' into 'master' Fix project member access for group links Closes #23872. See merge request !7144
| | * | | | | Fix project member access for group linksSean McGivern2016-10-281-8/+2
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `ProjectTeam#find_member` doesn't take group links into account. It was used in two places: 1. An admin view - it can stay here. 2. `ProjectTeam#member?`, which is often used to decide if a user has access to view something. This second part broke confidential issues viewing. `IssuesFinder` ends up delegating to `Project#authorized_for_user?`, which does consider group links, so users with access to the project via a group link could see confidential issues on the index page. However, `IssuesPolicy` used `ProjectTeam#member?`, so the same user couldn't view the issue when going to it directly.
| * | | | | Merge branch 'adam-fix-labels-find-or-create' into 'master' Douwe Maan2016-10-283-13/+15
| |\ \ \ \ \ | | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass user instance to Labels::FindOrCreateService or skip_authorization: true ## What does this MR do? It fixes a bug described in #23694 when `project.owner` was passed to `Labels::FindOrCreateService`. `Labels::FindOrCreateService` expected a user instance and `project.owner` may return a group as well. This MR makes sure that we either pass a user instance or `skip_authorization: true`. ## Are there points in the code the reviewer needs to double check? - places where we pass `skip_authorization: true` ## Does this MR meet the acceptance criteria? - Tests - [x] Added for this feature/bug - [ ] All builds are passing - [ ] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html) - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if it does - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) ## What are the relevant issue numbers? Fixes #23694 See merge request !7093
| | * | | | Pass user instance to Labels::FindOrCreateService or skip_authorization: trueadam-fix-labels-find-or-createAdam Niedzielski2016-10-283-13/+15
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | Do not pass project.owner because it may return a group and Labels::FindOrCreateService throws an error in this case. Fixes #23694.
| * | | | Merge branch 'use-optimistic-locking' into 'master' Stan Hu2016-10-284-31/+27
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use optimistic locking ## What does this MR do? Removes the usage of pessimistic locking in favor of optimistic which is way cheaper and doesn't block database operation. Since this is very simple change it should be safe. If we receive `StaleObjectError` message we will reload object a retry operations in lock. However, I still believe that we need this one: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7005 as this will reduce a load on Database and FS. This changes a behavior from: ### Pesimistic locking (previous behavior) #### For updating 1. SELECT * FOR UPDATE (other updates wait on this) 2. we update ci_pipeline 3. latest_build_status 4. enqueue: (use: transition :created -> :pending) 5. [state_machine] we are in state created, we can go to pending 6. [state_machine] ci_pipeline.status = created 7. [state_machine] ci_pipeline.save 8. [state_machine] after_transition: (if for success): PipelineSuccessWorker on Sidekiq 9. release DB lock #### If no update is required 1. SELECT * FOR UPDATE (other updates wait on this) 2. we update ci_pipeline 3. latest_build_status 4. we are in pending, we can't transition to pending, because it's forbidden 5. release DB lock ### Optimistic locking (implemented by this MR) #### For updating 1. latest_build_status 2. enqueue: (use `transition :created -> :pending`) 3. [state_machine] we are in state created, we can go to pending 4. [state_machine] ci_pipeline.status = created 5. [state_machine] ci_pipeline.save 6. [state_machine] [save] where(lock_version: ci_pipeline.lock_version).update_all(status: :created, updated_at: Time.now) 7. [state_machine] [save] unless we_updated_row then raise ObjectInconsistentError #### If no update is required 1. we update ci_pipeline 2. latest_build_status 3. we are in pending, we can't transition to pending, because it's forbidden ## Why was this MR needed? We have been seeing a number of problems when we migrated Pipeline/Build processing to Sidekiq. Especially we started seeing a lot of blocking queries. We used a pessimistic locking which doesn't seem to be required. This effectively allows us to fix our issues with blocked queries by using more efficient method of operation. ## What are the relevant issue numbers? Issues: https://gitlab.com/gitlab-com/infrastructure/issues/623 and https://gitlab.com/gitlab-com/infrastructure/issues/584, but also there's a bunch of Merge Requests that try to improve behavior of scheduled jobs. cc @pcarranza @yorickpeterse @stanhu See merge request !7040
| | * | | | Make retry_lock to not be infiniteuse-optimistic-lockingKamil Trzcinski2016-10-271-2/+2
| | | | | |
| | * | | | Fix Rubocop unused variables warningStan Hu2016-10-261-2/+2
| | | | | |
| | * | | | Remove puts to solve Rubocop errorsStan Hu2016-10-261-2/+0
| | | | | |
| | * | | | Fix optimistic lockingKamil Trzcinski2016-10-262-8/+10
| | | | | |
| | * | | | Add tests for optimistic lockingKamil Trzcinski2016-10-262-2/+2
| | | | | |
| | * | | | Use optimistic lockingKamil Trzcinski2016-10-263-25/+21
| | | | | |
| * | | | | Fixed boards store specissue-board-welcome-cookie-monsterPhil Hughes2016-10-281-2/+1
| | | | | |
| * | | | | Delete issue board welcome cookie when project is newPhil Hughes2016-10-282-2/+6
| | |_|/ / | |/| | |
| * | | | Merge branch 'fix/make-github-import-retryable' into 'master' Sean McGivern2016-10-281-1/+1
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify GitHub importer to be retryable Closes #23533 See merge request !7003
| | * | | | Check if repository already exists before trying to re-import itAhmad Sherif2016-10-281-1/+1
| | | |/ / | | |/| |
| * | | | Merge branch '5905-duplicate-email-errors' into 'master' Rémy Coutable2016-10-281-1/+3
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only show one error message for an invalid email Changes it to only validate the notification_email format if it's different from email. Closes #5905 See merge request !7158
| | * \ \ \ Merge branch 'master' into 5905-duplicate-email-errorsSteve Halasz2016-10-27283-372/+1348
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | Getting latest CHANGELOG so I can resolve merge conflict
| | * | | | | Only show one error message for an invalid emailSteve Halasz2016-10-271-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If notification_email is blank, it's set from email. If an admin attempted to create a user with an invalid email, an error would be displayed for both fields. Only validate the notification_email if it's different from email.