summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | fixes test according to four-phase test patterntiagonbotelho2016-07-122-0/+1
| | | | | | | | | |
| * | | | | | | | | removes basicprojectwithaccess and replaces it with basicprojectdetailstiagonbotelho2016-07-123-9/+1
| | | | | | | | | |
| * | | | | | | | | Merge branch 'dropdown-load-fix' of gitlab.com:tiagonbotelho/gitlab-ce into ↵tiagonbotelho2016-07-120-0/+0
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dropdown-load-fix
| | * | | | | | | | | changes string to symbol in paramtiagonbotelho2016-07-121-1/+1
| | | | | | | | | | |
| | * | | | | | | | | moves let variable to it statement by using a local variabletiagonbotelho2016-07-111-2/+2
| | | | | | | | | | |
| | * | | | | | | | | adds test to check json fields on simple request and changes the url request ↵tiagonbotelho2016-07-115-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | format
| | * | | | | | | | | removes gemfile.lock dotfilestiagonbotelho2016-07-082-0/+0
| | | | | | | | | | |
| | * | | | | | | | | fixes missing field on basicprojectdetailstiagonbotelho2016-07-084-0/+2
| | | | | | | | | | |
| | * | | | | | | | | changes the project_title_spec accordinglytiagonbotelho2016-07-081-1/+1
| | | | | | | | | | |
| | * | | | | | | | | changes the usage of simpleprojectdetails to already implemented ↵tiagonbotelho2016-07-083-20/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | basicprojectsdetails and changes the url to a more reader friendly format
| | * | | | | | | | | adds entry to changelogtiagonbotelho2016-07-071-0/+1
| | | | | | | | | | |
| | * | | | | | | | | removes debugging printtiagonbotelho2016-07-071-1/+0
| | | | | | | | | | |
| | * | | | | | | | | gets the new object through /simple endpoint and renders on the dropdowntiagonbotelho2016-07-072-1/+2
| | | | | | | | | | |
| | * | | | | | | | | adds basic functionality to the new endpoint of the apitiagonbotelho2016-07-063-21/+25
| | | | | | | | | | |
| | * | | | | | | | | implements filter_paramstiagonbotelho2016-07-063-0/+21
| | | | | | | | | | |
| * | | | | | | | | | adds test to check json fields on simple request and changes the url request ↵tiagonbotelho2016-07-122-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | format
| * | | | | | | | | | removes gemfile.lock dotfilestiagonbotelho2016-07-122-0/+0
| | | | | | | | | | |
| * | | | | | | | | | fixes missing field on basicprojectdetailstiagonbotelho2016-07-123-0/+1
| | | | | | | | | | |
| * | | | | | | | | | changes the project_title_spec accordinglytiagonbotelho2016-07-121-0/+1
| | | | | | | | | | |
| * | | | | | | | | | changes the usage of simpleprojectdetails to already implemented ↵tiagonbotelho2016-07-122-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | basicprojectsdetails and changes the url to a more reader friendly format
| * | | | | | | | | | removes debugging printtiagonbotelho2016-07-121-1/+0
| | | | | | | | | | |
| * | | | | | | | | | gets the new object through /simple endpoint and renders on the dropdowntiagonbotelho2016-07-121-0/+1
| | | | | | | | | | |
| * | | | | | | | | | adds basic functionality to the new endpoint of the apitiagonbotelho2016-07-123-19/+17
| | | | | | | | | | |
| * | | | | | | | | | implements filter_paramstiagonbotelho2016-07-122-0/+19
| | | | | | | | | | |
| * | | | | | | | | | changes string to symbol in paramtiagonbotelho2016-07-121-1/+1
| | | | | | | | | | |
| * | | | | | | | | | moves let variable to it statement by using a local variabletiagonbotelho2016-07-121-2/+2
| | | | | | | | | | |
| * | | | | | | | | | adds test to check json fields on simple request and changes the url request ↵tiagonbotelho2016-07-125-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | format
| * | | | | | | | | | removes gemfile.lock dotfilestiagonbotelho2016-07-122-0/+0
| | | | | | | | | | |
| * | | | | | | | | | fixes missing field on basicprojectdetailstiagonbotelho2016-07-124-0/+2
| | | | | | | | | | |
| * | | | | | | | | | changes the project_title_spec accordinglytiagonbotelho2016-07-121-1/+1
| | | | | | | | | | |
| * | | | | | | | | | changes the usage of simpleprojectdetails to already implemented ↵tiagonbotelho2016-07-123-20/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | basicprojectsdetails and changes the url to a more reader friendly format
| * | | | | | | | | | adds entry to changelogtiagonbotelho2016-07-121-0/+1
| | | | | | | | | | |
| * | | | | | | | | | removes debugging printtiagonbotelho2016-07-121-1/+0
| | | | | | | | | | |
| * | | | | | | | | | gets the new object through /simple endpoint and renders on the dropdowntiagonbotelho2016-07-122-1/+2
| | | | | | | | | | |
| * | | | | | | | | | adds basic functionality to the new endpoint of the apitiagonbotelho2016-07-123-21/+25
| | | | | | | | | | |
| * | | | | | | | | | implements filter_paramstiagonbotelho2016-07-123-0/+21
| | |_|_|_|/ / / / / | |/| | | | | | | |
* | | | | | | | | | Merge branch 'gl-importer-keeps-issue-number' into 'master' Douwe Maan2016-07-133-0/+55
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Keeps issue number when importing from Gitlab.com ## What does this MR do? Keeps issue number when importing from `Gitlab.com` ## Are there points in the code the reviewer needs to double check? No. ## Why was this MR needed? With these changes we doesn't loose the issue references when importing from `GitLab.com`. ## What are the relevant issue numbers? Closes #15235 /cc @cpm @jweerdt See merge request !5193
| * | | | | | | | | Stub omniauth provider for GitLabgl-importer-keeps-issue-numberDouglas Barbosa Alexandre2016-07-131-1/+6
| | | | | | | | | |
| * | | | | | | | | Update CHANGELOGDouglas Barbosa Alexandre2016-07-131-0/+1
| | | | | | | | | |
| * | | | | | | | | Add spec for GitLab.com importerDouglas Barbosa Alexandre2016-07-131-0/+48
| | | | | | | | | |
| * | | | | | | | | Keeps issue number when importing from Gitlab.comDouglas Barbosa Alexandre2016-07-131-0/+1
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With these changes we don’t lost the issue references when importing from `GitLab.com`.
* | | | | | | | | Merge branch 'fix-knapsack-for-spinach' into 'master' Kamil Trzciński2016-07-131-1/+1
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix Knapsack report generation for Spinach ## What does this MR do? Makes Knapsack auto-balacing work for Spinach tests ## Why was this MR needed? We used wrong Knapsack adapter, thus making spinach to run split, but not auto-balanced tests for spinach. See merge request !5230
| * | | | | | | | Fix Knapsack report generation for Spinachfix-knapsack-for-spinachKamil Trzcinski2016-07-131-1/+1
| | | | | | | | |
* | | | | | | | | Merge branch '18193-developers-can-merge' into 'master' Rémy Coutable2016-07-1335-303/+507
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow developers to merge into a protected branch without having push access ## What does this MR do? Adds a "Developers can merge" checkbox to protected branches much like the "Developers can push" checkbox. When the checkbox is enabled, a developer can merge MRs into that protected branch from the Web UI and from the command-line (any push that is entirely composed of merge commits is allowed). ## Are there points in the code the reviewer needs to double check? - This MR refactors the `GitAccess` module, moving parts of it to `UserAccess` and the new `ChangeAccessCheck`. - This MR refactors `GitAccessSpec`, which generates a "matrix" of tests. - The main logic "developers can merge" should be straightforward enough. - The commits are fairly atomic, and the commit messages are descriptive regarding the motivations behind every change. ## Why was this MR needed? A significant portion of this feature was implemented in !4220 (thanks, @mvestergaard!) ; I'm wrapping it up. ## What are the relevant issue numbers? #18193 Closes #967 ## Screenshots ![1](/uploads/c636e88ba38628211754e7cf122b0dc4/1.png) ![2](/uploads/5ed1e7917e2f36853a479faa565b022a/2.png) ![3](/uploads/0d202ba42e8dc6aade7bc6ac8db41ee6/3.png) ## TODO - [ ] #18193 !4892 Add "developers can merge" as an option for protected branches - [x] Review existing code - [x] Fix build - [x] Implementation / refactoring - [x] Clean up `GitAccess` - [x] Clean up `protected_branches.js.coffee` - [x] Figure out authorization issue - If we try to merge code into a protected branch for a user who doesn't have access to that branch, an auth check will fail - We need to get around this, somehow - [x] Try detecting merge commits and allowing those - [x] A push with regular commits _and_ merge commits should fail - [x] Figure out a solution - [x] Extensive tests for `MergeCommitCheck` - [x] Add tests - [x] Untested parts of original MR - [x] Improve the checks in `/allowed` - @dzaporozhets's proposal: - commits in push == commits in merge request - branch to push == target branch of merge request - merge request has required amount of approves (ee only) - merge commit in push == merge commit we created when merged via UI - save merge commit sha in database and compare with `newrev` - my proposal - /allowed finds all open merge requests with the appropriate target branch - For each MR, compare the commit SHAs in the MR to the commit SHAs in the change set - If we have a match, compare the diff of the matching MR to the diff of the change set - If we still have a match, the merge is legit - [x] Wait for replies on my proposal - [x] Pick a strategy - [x] Implementation - [x] Save `in_progress_merge_commit_sha` - [x] Check `in_progress_merge_commit_sha` - [x] Clear `in_progress_merge_commit_sha` - [x] Test / refactor - [x] Merge conflicts - [x] Verify workflows - [x] Developer with 'developer can merge' on: - [x] Can merge an MR from the Web UI - [x] Error message for conflicts in the Web UI - [x] Cannot merge an MR from the command line (HTTP) - [x] Cannot merge an MR from the command line (SSH) - [x] Cannot modify the branch otherwise - [x] Developer with 'developer can merge' off: - [x] Cannot merge an MR from the Web UI - [x] Error message for conflicts in the Web UI - [x] Cannot merge an MR from the command line (HTTP) - [x] Cannot merge an MR from the command line (SSH) - [x] Cannot modify the branch otherwise - [x] New projects created could have have "Developers can merge" turned on automatically for the default branch - [x] CHANGELOG - [x] Fix build - [x] Wait for [build](https://gitlab.com/gitlab-org/gitlab-ce/commit/42624e3d53754064186d4ae9048e310d1d3eed0b/builds) to pass - [x] Screenshots - [x] Assign to endboss - [x] Respond to @dbalexandre's comments - [x] Duplicated line, this is equals to line 26. - [x] We aren't using any of these helpers in this migration, we can remove the include. - [x] What do you think to add a default value for this column to avoid the Three-state Boolean Problem? - [x] group all checks under Gitlab::Checks - [x] You have a default value for developers_can_merge column, but your migration doesn't add it. - [x] What do you think to rename Partially protected to anything else? - [x] Fix conflicts - [x] Make sure [build](https://gitlab.com/gitlab-org/gitlab-ce/commit/b1cfd42f20a78fd7f844288954e97cff32962e20/builds) passes - [ ] Wait for merge See merge request !4892
| * | | | | | | | | Implement last round of review comments from !4892.18193-developers-can-mergeTimothy Andrew2016-07-134-26/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Fix typos, minor styling errors. 2. Use single quotes rather than double quotes in `user_access_spec`. 3. Test formatting.
| * | | | | | | | | Move all "checks" under `GitLab::Checks`.Timothy Andrew2016-07-135-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4892#note_12892160 - This is more consistent.
| * | | | | | | | | Appease rubocop.Timothy Andrew2016-07-132-2/+0
| | | | | | | | | |
| * | | | | | | | | Add "Developers can Merge" (to protected branches) to the CHANGELOG.Timothy Andrew2016-07-131-1/+1
| | | | | | | | | |
| * | | | | | | | | Don't ask the user to "merge this request manually".Timothy Andrew2016-07-132-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. If they are a developer with "Developers can Merge" switched on.
| * | | | | | | | | Clean up `protected_branches.js.coffee`Timothy Andrew2016-07-131-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Only send a param for the currently changed checkbox. - Have the controller use strong parameters correctly, so that the PATCH works as expected.