performance
We see that many slow queries on GitLab.com are dominated by finding
the project import data for a specific project. Adding an index is
the most straightforward way of fixing this.
Closes#23748
Add setting to only allow merge requests to be merged when all discussions are resolved
_Originally opened at !6385 by @rodolfoasantos._
- - -
## What does this MR do?
Based on #20968 this merge request adds setting only to allow merge requests to be merged when all discussions are resolved.
## Are there points in the code the reviewer needs to double check?
Check if there are other points to add the resolved discussion setting
## Why was this MR needed?
Add the possibility to configure the project to only accept merge request when all discussions are resolved
## Screenshots
![only_allow_merge_if_all_discussions_are_resolved](/uploads/9388db9421da0214590ffab6fb29f985/only_allow_merge_if_all_discussions_are_resolved.png)
![only_allow_merge_if_all_discussions_are_resolved_msg](/uploads/b1bba0c72ad67d3a1b34718baa08526e/only_allow_merge_if_all_discussions_are_resolved_msg.png)
## Does this MR meet the acceptance criteria?
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- [x] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)
- [x] API support added
- Tests
- [x] Added for this feature/bug
- [ ] All builds are passing
- [x] 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 you do - 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?
Closes#20968
See merge request !7125
* upstream/master: (35 commits)
Only skip group when it's actually a group in the "Share with group" select
Fix: Todos Filter Shows All Users
Fix: Guest sees some repository details and gets 404
Move shared params to a helper
GrapeDSL for project hooks
Update commits.scss
updated styling commit SHA on branches page + added to changelog
change build list height to show 6,5 builds + improve padding of list, with first/last child selectors
Ignore builds directory from eslint
Add changelog entry
Document multiple repository storage paths
Allow multiple repository storage shards to be enabled, and automatically round-robin between them
Cleaned up global namespace JS
Add tip for using Chrome to run and debug teaspoon tests.
Add CHANGELOG entry file
Add jquery.timeago.js to application.js
Update match-regex to fix filename convention
Move jquery.timeago to vendor directory
Change a bunch of doc links to either relative or https://docs.gitlab.com.
Show log corresponding to env in admin/logs
...
Resolve "Introduce round-robin project creation to spread load over multiple shards"
## What does this MR do?
Allow multiple shards to be enabled in the admin settings page, balancing project creation across all enabled shards.
## Are there points in the code the reviewer needs to double check?
* `f.select ..., multiple: true` isn't the most beautiful UI in the world, but switching to `collection_check_boxes` (or a facsimile thereof) isn't trivial
* Should `pick_repository_storage` be a method of `ApplicationSetting`, or `Project`? It's going to accrete logic over time so perhaps it should be its own class already?
* This is written to avoid the need for a database migration, so it is`serialize :repository_storage` without `, Array`. This is tested, but alternatives include:
* Add a database migration
* Write a custom Coder that will accept a String or Array in `load` and always `dump an Array.
## Why was this MR needed?
## Screenshots (if relevant)
![Screen_Shot_2016-11-03_at_14.42.41](/uploads/7de15d6c1b3fa60bb7a34d6a7d9f00ce/Screen_Shot_2016-11-03_at_14.42.41.png)
## Does this MR meet the acceptance criteria?
- [X] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG.md) entry added
- [X] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)
- [x] API support added
- Tests
- [X] Added for this feature/bug
- [ ] All builds are passing
- [X] 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?
Closes#24059
See merge request !7273
Issues atom feed url reflect filters on dashboard
Makes the issue atom feed url reflect the selected filters on the issue dashboard page and project's issues page.
## Are there points in the code the reviewer needs to double check?
The solution isn't based on javascript and filters functionality but on the current url parameters. It didn't seem right especially when writing tests.
## Why was this MR needed?
After filtering the issues, users may press the feed button and see a different list of issues to what is shown on the HTML page
Closes#22947
See merge request !7259