summaryrefslogtreecommitdiff
path: root/CHANGELOG
Commit message (Collapse)AuthorAgeFilesLines
* Object renderer read_multi rendered entries from Cacheread-multi-rendered-objectsPaco Guzman2016-07-121-0/+1
|
* Merge branch 'update-health-check-gem' into 'master' Rémy Coutable2016-07-121-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the health_check gem to the latest release ## What does this MR do? Update the health_check gem to the latest release, which allows us to drop some of our code for overwriting the email check ## Does this MR meet the acceptance criteria? - [x] [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 [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) See merge request !5186
| * Update the health_check gem to the latest releaseupdate-health-check-gemDJ Mountney2016-07-111-0/+1
| | | | | | | | This allows us to drop our disable email config override
* | Merge branch 'remove-branch-api' into 'master' Rémy Coutable2016-07-121-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | api: expose {should,force}_remove_source_branch ## What does this MR do? Exposes the `should_remove_source_branch` and `force_remove_source_branch` booleans via the API. ## Are there points in the code the reviewer needs to double check? I don't think so. ## Why was this MR needed? See the commit message. ## What are the relevant issue numbers? N/A ## Screenshots (if relevant) N/A ## 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 [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) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !5184
| * | api: expose {should,force}_remove_source_branchBen Boeckel2016-07-111-0/+1
| |/ | | | | | | | | Workflows which use a bot to merge should remove branches if requested. Expose the flag so that bots can request know this.
* | Merge branch 'copy-to-clipboard-tooltip' into 'master' Rémy Coutable2016-07-121-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Display tooltip for "Copy to Clipboard" button ## What does this MR do? Add a tooltip to the "Copy to Clipboard" button. ## Are there points in the code the reviewer needs to double check? Nope. ## Why was this MR needed? There was no tooltip. ## What are the relevant issue numbers? fixes #19640, #19682 ## Screenshots (wrong cursor is the fault of my screenshot program) ![after](/uploads/6b89790fa3a32b06b115ef1461cbcd86/after.png) See merge request !5164
| * | Display tooltip for "Copy to Clipboard" button (!5164)winniehell2016-07-111-0/+1
| | |
* | | Merge branch 'optimize-cross-ref-system-notes-check' into 'master' Douwe Maan2016-07-121-0/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Optimize cross ref system notes check ## What does this MR do? This MR optimizes system note visibility checking by memoizing the visible reference count, reducing the overhead of calling `Note#cross_reference_not_visible_for?`. ## Are there points in the code the reviewer needs to double check? Note that since a cross reference message contains, "Mentioned in XYZ", we EXPECT that there is at least one reference. That's why using the ref count > 0 works. ## Why was this MR needed? The previous implementation relied on `Note#cross_reference_not_visible_for?`, which essentially tries to render all the Markdown references in a system note and only displays the note if the user can see the referring project. But this duplicated the work that Banzai::NotesRenderer was doing already. This shaves about 0.8 s from the load time from https://gitlab.com/gitlab-com/operations/issues/42. ## What are the relevant issue numbers? #19273 ## Screenshots (if relevant) ## Does this MR meet the acceptance criteria? - [x] [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 - [x] Added for this feature/bug - [x] All builds are passing - [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) See merge request !5070
| * | | Optimize system note visibility checking by hiding notes thatStan Hu2016-07-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | have been fully redacted and contain cross-project references. The previous implementation relied on Note#cross_reference_not_visible_for?, which essentially tries to render all the Markdown references in a system note and only displays the note if the user can see the referring project. But this duplicated the work that Banzai::NotesRenderer was doing already. Instead, for each note we render, we memoize the number of visible user references and use it later if it is available. Improves #19273
* | | | Merge branch 'contrib-calendar-tooltip-name' into 'master' Jacob Schatz2016-07-111-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added day name to contributions calendar ## What does this MR do? Adds the day name text into the contributions calendar tooltip. ## What are the relevant issue numbers? Closes #19367 ## Screenshots (if relevant) ![Screen_Shot_2016-07-04_at_12.38.52](/uploads/edf6ac3454d479a345aee638875b7713/Screen_Shot_2016-07-04_at_12.38.52.png) See merge request !5065
| * | | | Added day name to contributions calendarcontrib-calendar-tooltip-namePhil Hughes2016-07-041-0/+1
| | | | | | | | | | | | | | | | | | | | Closes #19367
* | | | | Merge branch 'master' into faster-diffsfaster-diffsJacob Schatz2016-07-111-4/+23
|\ \ \ \ \
| * \ \ \ \ Merge branch 'remove-pinto-from-flash' into 'master' Jacob Schatz2016-07-111-0/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove pinTo from Flash ## What does this MR do? - replace `pinTo` of `Flash` by `parent` parameter in constructor - move positioning of layout containers from CoffeeScript to layout files - adjust styling of inline flash messages ## Are there points in the code the reviewer needs to double check? - display of flash messages in general ## Why was this MR needed? - allow finding and positioning flash message containers within layout files - allow adding different CSS classes to flash containers within layout files (necessary for fixing #18908) - allow multiple flash messages to be displayed at different places at the same time - make inline flash messages look nicer ## What are the relevant issue numbers? closes #18908, closes part of #18897 ## Screenshots ### Inline flash message (before) ![before](/uploads/c5b3cc05140eaeb9d14e481fa506ebbf/before.png) ![before-mobile](/uploads/004b1f2b9510bd97f4f8a7a6e56f17ef/before-mobile.png) ### Inline flash message (after) ![inline-flash-message](/uploads/fe2a23b63623612b696d529e81fa459e/inline-flash-message.png) ![inline-flash-mobile](/uploads/6207604acfebcf7402d77d5638c89ca8/inline-flash-mobile.png) ### Other flash messages (after) ![flash-message-issue](/uploads/d7e12bd0da68cfa333471ed102428cec/flash-message-issue.png) --- ![flash-new-project](/uploads/3465967dba83296068f154f149d26f64/flash-new-project.png) --- ![flash-sign-in](/uploads/4a5b317d5a369034f43343031607a0c2/flash-sign-in.png) --- ![flash-file-comment](/uploads/488a1119374be7e2173c0a590cfd8821/flash-file-comment.png) --- ![flash-fork](/uploads/f41964e8b910801e03eef3d7649e5009/flash-fork.png) --- ![flash-update-profile](/uploads/9fd972d6c6609fbbf86afcd99d343b5f/flash-update-profile.png) --- ### This is possible now ![flashs-everywhere](/uploads/07f425534511fb4ecaa1d7e2a9870787/flashs-everywhere.png) See merge request !4854
| | * | | | | Remove `pinTo` from `Flash` and make inline flash messages look nicer (!4854)winniehell2016-06-301-0/+1
| | | | | | |
| * | | | | | Normalize spacing for version numbers in CHANGELOGRobert Speicher2016-07-111-3/+3
| | |_|/ / / | |/| | | | | | | | | | | | | | | | [ci skip]
| * | | | | Merge branch 'fix/import-event-error' into 'master' Robert Speicher2016-07-111-0/+3
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix problems with events under notes importing GitLab projects Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/19588 See merge request !5154
| | * | | | | fix changelog...fix/import-event-errorJames Lopez2016-07-111-5/+3
| | | | | | |
| | * | | | | Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into ↵James Lopez2016-07-111-4/+26
| | |\ \ \ \ \ | | | | |_|_|/ | | | |/| | | | | | | | | | fix/import-event-error
| | * | | | | squashed - refactor to cope with sub sub N relations probably using the ↵James Lopez2016-07-111-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | sub_relations method recursively.
| * | | | | | Merge branch 'single-file-diffs' into 'master' Douwe Maan2016-07-111-0/+2
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Single file diffs Closes #14103. Related (not part of this MR): #19553. This adds a `diff_for_path` action to each place we render diffs (commit, compare, new MR, existing MR) which renders the diff for a single path. The action is always available with the same params as the 'parent' action, to make it simpler to generate the URIs. If a diff is bigger than 10 KB, it will be collapsed by default and have a data attribute added. You can then click the message or the filename to expand that diff. For expanded files, you can collapse and expand them, but they won't make any AJAX requests. ![Expand_and_collapse_diffs](/uploads/a4072029085082b85c47006f67ac531c/Expand_and_collapse_diffs.gif) See merge request !4990
| | * \ \ \ \ \ Merge branch 'master' into single-file-diffsSean McGivern2016-07-111-1/+10
| | |\ \ \ \ \ \ | | | | |/ / / / | | | |/| | | |
| | * | | | | | Collapse large diffs by defaultSean McGivern2016-07-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When rendering a list of diff files, skip those where the diff is over 10 KB and provide an endpoint to render individually instead.
| * | | | | | | entities: remove :description from MergeRequestBen Boeckel2016-07-111-0/+1
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | It is already part of ProjectEntity.
| * | | | | | Merge branch 'sshkey-ux' into 'master' Rémy Coutable2016-07-111-0/+1
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add reminder to not paste private SSH keys ## What does this MR do? Just got the "How would you make GitLab better?" mail and thought that I could follow it. This commit adds a short reminder to not paste the private part of an SSH key to the form where one can add SSH keys to one's account. I think that's an useful message, both for people who aren't that experienced yet and for people who are sleep-deprived. :-) I decided to just list the most common key type, `ssh-rsa`. The full list of key types in the [CVS repository of OpenSSH](http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/usr.bin/ssh/sshkey.c?rev=HEAD&content-type=text/plain) contains some types which I'd regard as a bit obscure. Mentioning all of those types would probably clutter the form too much. We could think about whether to list what is probably the second most common key type, namely `ssh-dss`. But note that this key type [seems to be deprecated](https://security.stackexchange.com/questions/5096/rsa-vs-dsa-for-ssh-authentication-keys). ## Are there points in the code the reviewer needs to double check? I didn't actually test this one-line change. ## Why was this MR needed? It's not, strictly speaking, needed, but could be considered a nice addition. See merge request !4399
| | * | | | | | Add changelog entry for !4399Ingo Blechschmidt2016-07-091-0/+1
| | | |_|_|_|/ | | |/| | | |
| * | | | | | Merge branch 'blockquote-fence-filter' into 'master' Robert Speicher2016-07-101-0/+1
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add blockquote fence syntax to Markdown Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/16564 Before Markdown rendering happens, this will transform this: ``` Let me quote this here email: >>> Dear friend, How are you? Greetings, Me >>> ``` Into this, saving me from having to prefix all of those lines with `>` manually when I copy some multiline text from another medium: ``` Let me quote this here email: > Dear friend, > > How are you? > > Greetings, > > Me ``` See merge request !3954
| | * | | | | | Add changelog itemDouwe Maan2016-07-091-0/+1
| | |/ / / / /
| * | | | | | Merge branch 'reuse-queries-in-reference-parsers' into 'master' Robert Speicher2016-07-101-0/+1
| |\ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-use queries in reference parsers This MR changes the reference parsing pipeline to cache queried objects and re-use them on subsequent runs. Data is cached in the `RequestStore` module so it's automatically flushed after a request. Certain references are processed multiple times. For example, for every system note we check if it's a cross reference by getting the issues, MRs and commits it references. When redacting data we may end up querying these very same objects. By caching this we can quite drastically reduce timings and SQL query counts. #15607 See merge request !5020
| | * | | | | Re-use queries in reference parsersreuse-queries-in-reference-parsersYorick Peterse2016-07-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This caches various queries to ensure that multiple reference extraction runs re-use any objects queried in previous runs.
| * | | | | | Update New Snippet buttons.Connor Shea2016-07-081-0/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No longer shows New Snippet button to users who aren't able to create a new snippet in the given context. Also removes the plus icon from the New Snippet buttons, as they're no longer used in other creation buttons. Fixes #14595.
| * | | | | Merge branch 'improve-project-limit-field' into 'master' Rémy Coutable2016-07-081-0/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add min attribute to projects_limit field on user's form This PR adds `min=0` attribute to `:projects_limit` field on user's form in the admin panel. It improves UX disallowing user to enter negative values in this field. ![](http://take.ms/70V8W) See merge request !3622
| | * | | | | Add min attribute to project_limit field on user's formAndrey Krivko2016-07-081-0/+1
| | | | | | |
| * | | | | | Merge branch 'retrieve-mr-closes-issues-just-when-required' into 'master' Rémy Coutable2016-07-081-0/+1
| |\ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid calculation of closes_issues. ## What does this MR do? Avoid unneeded calls to MR closes issues ## Are there points in the code the reviewer needs to double check? I'm not sure if calling this method from a view is a good practice, but I cannot see another simple way of avoiding this problem. In case we want to avoid this in the controller we need to specify the action, format and status of the merge request, because in that case we know that the `_open` partial will render. We could add some lazy evaluation but it not a thing I see in use along the app but feedback is welcome ## What are the relevant issue numbers? #14202 , #19490 ## Does this MR meet the acceptance criteria? - [x] [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~~ - [x] All builds are passing - [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) See merge request !5140
| | * | | | | Avoid calculation of closes_issues.retrieve-mr-closes-issues-just-when-requiredPaco Guzman2016-07-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We just need to get merge requests closes issues when we’re going to show them
| * | | | | | Merge branch 'fix-changelog-typo' into 'master' Stan Hu2016-07-081-1/+1
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix CHANGELOG typo: by_pass -> bypass See merge request !5048
| | * | | | | | Fix CHANGELOG typo: by_pass -> bypassStan Hu2016-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ci skip]
| * | | | | | | Merge branch 'dont-render-discussion-notes-on-not-html-requests'Douwe Maan2016-07-081-0/+1
| |\ \ \ \ \ \ \
| | * | | | | | | Don't render discussion notes when requesting diff tab through AJAXdont-render-discussion-notes-on-not-html-requestsPaco Guzman2016-07-081-0/+1
| | | | | | | | |
| * | | | | | | | Merge branch 'api-shared-projects' into 'master' Rémy Coutable2016-07-081-0/+1
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Api shared projects ## What does this MR do? Exposes the shared projects in the group endpoint ## What are the relevant issue numbers? Builds upon !5148 and closes #18780 ## 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 - [x] All builds are passing - [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) See merge request !5150
| | * | | | | | | | API: Expose shared projects in a groupapi-shared-projectsRobert Schilling2016-07-081-1/+1
| | | | | | | | | |
| | * | | | | | | | Expose shared groups for projectsapi-shared-groupsRobert Schilling2016-07-081-0/+1
| | | | | | | | | |
| * | | | | | | | | Memoize MR merged/closed events retrievalmemoize_merge_request_eventsPaco Guzman2016-07-081-0/+1
| | |_|_|_|/ / / / | |/| | | | | | |
| * | | | | | | | Merge branch 'feature/option-set-new-users-external' into 'master' Rémy Coutable2016-07-081-0/+1
| |\ \ \ \ \ \ \ \ | | |_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added setting to set new users by default as external ## What does this MR do? This implements the feature request #14508. It adds an option in the application settings to set new users by default as external. ## Are there points in the code the reviewer needs to double check? Everything. Like I mentioned in the discussion of the issue my knowledge of Ruby basically doesn't exists. I tested it on my machine and it seems to work, but as I am very unexperienced in Ruby I highly recommend to take a close look at the code. ## Why was this MR needed? It was requested by @DouweM to work on the issue with the proposed changes by me. ## What are the relevant issue numbers? This MR is for the issue #14508 that followed up after the implementation of #4009. See merge request !4545
| | * | | | | | | Added setting to set new users by default as externalDravere2016-07-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As requested by the issue #14508 this adds an option in the application settings to set newly registered users by default as external. The default setting is set to false to stay backward compatible.
| * | | | | | | | Revert "Revert "Merge branch 'issue_3946' into 'master' ""Robert Speicher2016-07-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit bf2a86b73cce332ff8f4392ffc8df501193f32ec.
| * | | | | | | | Merge remote-tracking branch 'origin/master'Robert Speicher2016-07-071-0/+1
| |\ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ Merge branch '18627-wildcard-branch-protection' into 'master' Douwe Maan2016-07-071-0/+1
| | |\ \ \ \ \ \ \ \ | | | |_|/ / / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow specifying protected branches using wildcards Closes #18627 # Tasks - [ ] #18627 !4665 Allow specifying protected branches using wildcards - [x] Find existing usages of protected branches - Protecting branches - `ProtectedBranchesController` is used to mark a branch protected/unprotected - `API::Branches` can be used to mark a branch protected/unprotected - Enforcing branch protection - `Gitlab::GitAccess` has helpers (`can_push_to_branch?`, `check`) that are used to deny pushes if a branch is protected - Over SSH: `gitlab-shell` receives a push, and calls `/allowed` on the GitLab API, which calls `GitAccess.check` - Over HTTP: - `gitlab-workhorse` receives the request, and forwards it to rails - Rails (in the `GitHttpController#git-recieve-pack`) runs basic checks (is the user logged in, not protected branch checks) and returns ok with `GL_ID` and `RepoPath` - `gitlab-workhorse` looks at the response, and calls the relevant `gitlab-shell` action from `git-http/handlePostRPC` - Rest of this flow is the same as the SSH flow above - [x] Implementation - [x] Backend - [x] Change `project#protected_branch?` to look at wildcard protected branches - [x] Change `project#developers_can_push_to_protected_branch?` - [x] Change `project#open_branches` - [x] Better error message when creating a disallowed branch from the Web UI - [x] Frontend - [x] Protected branches page should allow typing out a wildcard pattern - [x] Add help text explaining the use of wildcards - [x] Show matching branches for each protected branch - [x] ~~On the index page~~ - [x] On a show page - [x] Index? - [x] Can't have the "last commit" column for wildcard protected branches - [x] Fix / write tests - [x] What happens if a hook is missing in dev? - [x] Refactor - [x] Test workflows - Create a branch matching a wildcard pattern - Push to a branch matching a wildcard pattern - Force push to a branch matching a wildcard pattern - Delete a branch matching a wildcard pattern - [x] Test using Web UI - [x] Test over SSH - [x] Test over HTTP - [x] Test as developer and master - [x] Investigate performance - [x] Test with a large number of protected branches / branches - [x] Paginate list of protected branches - [x] ~~Possibly rewrite `open_branches`~~ - [x] Add `iid`s to existing `ProtectedBranch`es - [x] Add documentation - [x] Add CHANGELOG entry - [x] Add screenshots - [x] Make sure [build](https://gitlab.com/gitlab-org/gitlab-ce/commit/2f753e3ed2ce681b4444944d521f4419e8ed37f7/builds) passes - [x] Assign to endboss for review - [x] Address @DouweM's comments - [x] `protected_branch_params` - [x] `exact_match` instead of `explicit_match` - [x] When would self.name be blank? - [x] Move `protected_branches.each` to a partial - [x] Move `matching_branches.each` to a partial - [x] If the branch is in @matching_branches, it's not been removed - [x] move this regex to a method and memoize it - [x] `commit_sha` directly for exact matches - [x] Number of matches for wildcard matches, with a link - [x] Wait for [build](https://gitlab.com/gitlab-org/gitlab-ce/commit/43f9ce0e88194b8f719bb1c1e656b7fc13278d56/builds) to pass - [x] Respond to @DouweM's comments - [x] Don't use iid - [x] Controller should use `@project.protected_branches.new` - [x] move the memoization to `def wildcard_regex` - [x] render with `collection: @protected_branches` - [x] Wait for [build](https://gitlab.com/gitlab-org/gitlab-ce/commit/f7beedf122fa0c7aa89e86181fe7499321fb10ca/builds) to pass - [x] Wait for @DouweM's review - [x] Wait for @jschatz1's review - [x] Respond to @jschatz1's comments - [x] Use the new dropdown style - [x] description should be moved to the description section without the styling - [x] Protect button should be disabled when no branch is selected - [x] Update screenshots - [x] Merge conflicts - [x] Make sure [build](https://gitlab.com/gitlab-org/gitlab-ce/commit/20f3cfe8d5540eab64c2ba548043d600b28c61ba/builds) passes - [ ] Revisit performance, possibly with staging/production data - [ ] Get a dump of staging / run against staging live - [ ] Get SSH access to staging - [ ] Wait for review/merge # Screenshots ## Creating wildcard protected branches ![1](/uploads/9446afccfdf6fa381e00c800dd2cc82e/1.png) ![2](/uploads/0b154503b297a818d3577488c575d845/2.png) ![3](/uploads/36217f79df9e41cc1550601f02627fe8/3.png) ![4](/uploads/041ca9bd529bcfa5373fca67e917cbcb/4.png) ### Using the `GLDropdown` component ![2016-06-30_14-16-15](/uploads/508afc2a5e2463c2954641409a560d88/2016-06-30_14-16-15.gif) ## Enforcing wildcard protected branches ### From the Web UI ![Screen_Shot_2016-06-20_at_1.21.18_PM](/uploads/8b5d4b1911e9152698a0488daf1880bc/Screen_Shot_2016-06-20_at_1.21.18_PM.png) ### Over SSH ![SSH](/uploads/7365989d7e4c406ef37b6ae5106442c9/SSH.gif) ### Over HTTPS ![HTTPS](/uploads/a7c0f56ae58efcffc75e6700fa2f4ac0/HTTPS.gif) ## Listing matching branches ![Screen_Shot_2016-06-20_at_1.33.44_PM](/uploads/d054113022f5d7ec64c0e57e501ac104/Screen_Shot_2016-06-20_at_1.33.44_PM.png) See merge request !4665
| | | * | | | | | | Add wildcard protected branches to the CHANGELOG.Timothy Andrew2016-07-061-0/+1
| | | | | | | | | |
| * | | | | | | | | Revert "Merge branch 'issue_3946' into 'master' "Robert Speicher2016-07-071-1/+0
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 68155ee73b549a4f79744bb325542c29d45c71ea, reversing changes made to 7ebd011ed1de7aee706f07a53c63c90f1c8aa5d4.
* | | | | | | | | Add space to kick target branch error in buttJacob Schatz2016-07-111-1/+1
| | | | | | | | |