Commit Graph
5119 Commits
Author SHA1 Message Date
Timothy Andrew a4ee7d25e3 Implement @rymai's feedback after review.
- Separate 'exercise' and 'verify' steps of tests.
- Use `build_stubbed` instead of `build`
2016-05-12 07:17:07 +05:30
Timothy Andrew a59ad3936a Add a spec for WikiLinkFilter
- And fix behavior for non-file hierarchical links.
2016-05-12 07:17:07 +05:30
Douwe Maan f2251273b9 Merge branch 'issue_15572_snippets_tab_under_user_profile' into 'master'
Add snippet tab under user profile

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/15572

See merge request !4001
2016-05-11 22:04:25 +00:00
Robert Speicher d8415389de Merge branch 'hook-docs-behavior' into 'master'
Improve documentation and web test for web hooks

Tips and documentation of actual hook behavior. Improved user feedback
when testing hooks via the web UI.

See merge request !4015
2016-05-11 16:34:00 +00:00
Robert Speicher 24f353edc4 Merge branch '17249-starred' into 'master'
Restrict starred projects to viewable ones

`User#starred_projects` doesn't perform any visibility checks. This has
a couple of problems:

1. It assumes a user can always view all of their starred projects in
   perpetuity (project not changed to private, access revoked, etc.).
2. It assumes that we'll only ever allow a user to star a project they
   can view. This is currently the case, but bugs happen.

Add `User#viewable_starred_projects` to filter the starred projects by
those the user either has explicit access to, or are public or
internal. Then use that in all places where we list the user's starred
projects.

Closes #17249.

See merge request !4108
2016-05-11 12:49:29 +00:00
Robert Speicher d526cda502 Merge branch '17270-only-generate-email-on-push-once-for-all-recipients' into 'master'
Only generate repository push email once

The repository push email can be very expensive to generate, especially
with syntax-highlighted diffs. Instead of generating the email for each
recipient, generate one email object and reset the Message-Id and To
headers for each recipient. (Cloning would also be expensive in the case
of large emails, although probably not as bad as generating from
scratch.)

Closes #17270.

See merge request !4070
2016-05-11 12:45:39 +00:00
Sean McGivern 5f27e26bb4 Only generate repository push email once
The repository push email can be very expensive to generate, especially
with syntax-highlighted diffs. Instead of generating the email for each
recipient, generate one email object and reset the Message-Id and To
headers for each recipient. (Cloning would also be expensive in the case
of large emails, although probably not as bad as generating from
scratch.)
2016-05-11 09:16:01 +01:00
Sean McGivern acd8930c46 Tidy up user project specs 2016-05-11 09:03:23 +01:00
Long Nguyen a22d559d27 Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into issue_15572_snippets_tab_under_user_profile 2016-05-11 09:14:56 +07:00
Robert Speicher 971662e6a4 Merge branch 'stanhu/gitlab-ce-add-eager-load-lib' into 'master'
Add eager load paths to help prevent dependency load issues with Sidekiq workers

_Originally opened at !3545 by @stanhu._

- - -

Relevant resources:

- https://github.com/mperham/sidekiq/wiki/FAQ#why-doesnt-sidekiq-autoload-my-rails-application-code
- https://github.com/mperham/sidekiq/issues/1281#issuecomment-27129904
- http://blog.arkency.com/2014/11/dont-forget-about-eager-load-when-extending-autoload
- https://github.com/rails/rails/blob/52ce6ece8c8f74064bb64e0a0b1ddd83092718e1/railties/lib/rails/engine.rb#L472-L479
- https://github.com/rails/rails/blob/v4.2.6/railties/lib/rails/paths.rb

Attempts to address #3661, #11896, #12769, #13521, #14131, #14589, #14759, #14825.

See merge request !3724
2016-05-10 20:14:40 +00:00
Sean McGivern 97424ea544 Restrict starred projects to viewable ones
`User#starred_projects` doesn't perform any visibility checks. This has
a couple of problems:

1. It assumes a user can always view all of their starred projects in
   perpetuity (project not changed to private, access revoked, etc.).
2. It assumes that we'll only ever allow a user to star a project they
   can view. This is currently the case, but bugs happen.

Add `User#viewable_starred_projects` to filter the starred projects by
those the user either has explicit access to, or are public or
internal. Then use that in all places where we list the user's starred
projects.
2016-05-10 18:13:52 +01:00
Rémy Coutable a278b36ab0 Fix an issue when filtering merge requests with more than one label
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-05-10 19:07:46 +02:00
Robert Speicher 0cc8cee6cd Merge branch 'fix/using-uploads-in-global-snippets' into 'master'
Fix using link to uploads in global snippets

Closes #17342, closes #17363

See merge request !4085
2016-05-10 17:07:10 +00:00
Grzegorz Bizon 535be93a77 Do not process upload links if no project context 2016-05-10 13:50:56 +02:00
Grzegorz Bizon 4c506c4498 Fix using link to uploads in global snippets
Closes #17342, closes #17363
2016-05-10 13:46:31 +02:00
Dmitriy Zaporozhets 21f942a5ad Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce 2016-05-10 12:51:24 +02:00
Rémy Coutable 4453104d75 Merge branch '2460-3690-support-multiline-tag-message' into 'master'
Support multi-line tag messages

_Originally opened at !2853 by @clns._

- - -

Tag messages in Git can include a short summary of what changes are included in a release and any other relevant information. So I think GitLab should support multi-line tag messages, both in the "New Tag" interface and when viewing the tag.

Also a non-technical user could use GitLab's interface to create releases, but at the moment this is impossible because he cannot enter a multi-line message. This would've been very handy, otherwise he would need to do it from the command line or other GUI program, which is not something a non-technical user has access to or knows how to do.

This merge request adds support for multi-line tag messages. Below are the impacted screens. Let me know if I should change anything.

This would close #3690 and #2460

![image](/uploads/d33bede1141bfb10c5d9c301ee1cb0ec/image.png)
![image](/uploads/ebfea358c1a5986e7b95ad31748f7a6a/image.png)

See merge request !3833
2016-05-10 10:28:35 +00:00
Rémy Coutable 5589dcf8db Fix a few places where autoloading would fail
- Fix naming of API::CommitStatuses
- Ensure we use require_dependency instead of require
- Ensure the namespace is right in lib/api/api.rb, otherwise, we
  might require Grape::API::Helpers which defines the `#params` method.
  This is to avoid requiring a file multiple times and getting an "Already
  initialized constant" error.

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-05-10 11:51:19 +02:00
Rémy Coutable 3af78b5c53 Merge branch 'revert-4026' into 'master'
Revert "Merge branch 'wiki-fix' into 'master'"

This reverts commit 4cc85a58e8 (!4026), reversing
changes made to 90ae445ba9.

From https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4026#note_11719950:

>  1. On Ruby 2.1.x, the [`uri.path = ::File.join(project_wiki_base_path, uri.path)`](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/banzai/filter/wiki_link_filter.rb#L39) raises an `URI::InvalidComponentError: bad component(expected relative path component): http://bar.com/baz` error in `Banzai::Filter::WikiLinkFilter#rebuild_wiki_uri`, which is then rescued in [`Banzai::Filter::WikiLinkFilter#process_link_attr`](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/banzai/filter/wiki_link_filter.rb#L34), thus the link is not modified and the tests pass.
1. On Ruby 2.2.x, the same line doesn't raise an error anymore, thus tests are broken on Ruby 2.2 only. I didn't really understand yet why having absolute links in the wiki would break some tests vs having relative links as before, but I think the safest course to action is to revert this MR and to find another fix (probably just prepending `ProjectWiki#wiki_base_path` with the relative URL path component if we are in the case of a relative URL...
/cc @artem-sidorenko

Just a FYI note: no need to pick into `8-7-stable` since the original commit was not picked.

See merge request !4105
2016-05-10 09:47:55 +00:00
Rémy Coutable 1026f2ad09 Add integration specs for tags
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-05-10 11:45:03 +02:00
Yorick Peterse f96c34ec45 Merge branch 'remove-annotate-gem' into 'master'
Remove the annotate gem and delete old annotations

In 8278b763d9 the default behaviour of annotation
has changes, which was causing a lot of noise in diffs. We decided in #17382
that it is better to get rid of the whole annotate gem, and instead let people
look at schema.rb for the columns in a table.

Fixes: #17382 

/cc @yorickpeterse 

See merge request !4099
2016-05-10 09:08:30 +00:00
Rémy Coutable f52a15e022 Revert "Merge branch 'wiki-fix' into 'master' "
This reverts commit 4cc85a58e8, reversing
changes made to 90ae445ba9.

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-05-10 10:57:48 +02:00
Stan Hu 849cc380d8 Use a case-insensitive comparison in sanitizing URI schemes
Closes #1625
2016-05-09 12:47:53 -07:00
Douwe Maan 93b4a3a156 Merge branch 'fix/todos-for-private-group-mentions' into 'master'
Fix adding a todo for private group memebers



See merge request !4081
2016-05-09 18:31:41 +00:00
Jeroen van Baarsen f1479b56b7 Remove the annotate gem and delete old annotations
In 8278b763d9 the default behaviour of annotation
has changes, which was causing a lot of noise in diffs. We decided in #17382
that it is better to get rid of the whole annotate gem, and instead let people
look at schema.rb for the columns in a table.

Fixes: #17382
2016-05-09 18:00:28 +02:00
Rémy Coutable 0c2bb8d1d7 Merge branch 'issue_15394' into 'master'
Sanitize milestones and labels titles

fixes #15394 

See merge request !4046
2016-05-09 15:47:48 +00:00
Rémy Coutable 8dd2188b83 Merge branch '2954-api-expose-issue-user_notes_count' into 'master'
API: Expose Issue#user_notes_count and MergeRequest#user_notes_count

_Originally opened at !2954 by @cnam812._

- - -

Expose `Issue#user_notes_count` and `MergeRequest#user_notes_count` through the API.

See merge request !3126
2016-05-09 14:53:13 +00:00
Rémy Coutable d4d34b161b Merge branch 'rs-backport-ee-372' into 'master'
Backport changes from gitlab-org/gitlab-ee!372

Mostly replaces several Spinach tests with RSpec Feature tests.

See merge request !4043
2016-05-09 14:48:48 +00:00
Rémy Coutable f5240f9703 Expose MergeRequest#user_notes_count in the API and use the method in issues list
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-05-09 16:08:07 +02:00
cnam-depandRémy Coutable 5364400741 API: Expose Issue#user_notes_count 2016-05-09 16:07:35 +02:00
Jacob Vosmaer a19508d6b7 Fix test failures 2016-05-09 13:58:43 +02:00
Rémy Coutable 4cc85a58e8 Merge branch 'wiki-fix' into 'master'
Use the proper GitLab URL for links in Wiki

Fixes gitlab-org/gitlab-ce#17071

wiki links are proper compiled, e.g.
```
[same-level](same-level) -> <a href="same-level">same-level</a>
[sub-level](sub/level) -> <a href="sub/level">sub-level</a>
[upper-level](../upper-level) -> <a href="../upper-level">upper-level</a>
```

See merge request !4026
2016-05-09 10:40:01 +00:00
Dmitriy Zaporozhets 90ae445ba9 Merge branch 'rs-remove-wall_enabled' into 'master'
Remove `wall_enabled` field from Project



See merge request !4089
2016-05-09 10:02:59 +00:00
Artem Sidorenko 14b36f91d9 Use the proper GitLab URL for links in Wiki 2016-05-09 11:50:23 +02:00
Rémy Coutable 7d95d3cde7 Merge branch 'trusted-proxies-ip-addr' into 'master'
Pass trusted_proxies to action_dispatch as IPAddrs instead of strings

Without this setting your own trusted_proxies does not work.

Fixes an issue introduce in: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3524

Fixes: https://gitlab.com/gitlab-org/gitlab-ce/issues/17004

See merge request !3970
2016-05-09 09:47:16 +00:00
Robert Speicher 4bc4f06512 Merge branch 'escape-commit-titles' into 'master'
Escape HTML in commit titles in system note messages

Closes #17348

See merge request !4084
2016-05-08 23:53:49 +00:00
Stan Hu 4a47470feb Merge branch 'fix-build-notification-on-merge-page-change' into 'master'
Fix build notification on merge request page change even if the build status didn't change

## What does this MR do?
This MR contains a bugfix for #17357 which was introduced by !3998. The notification are now only shown on status changes, and not when switching between different merge requests.

## Are there points in the code the reviewer needs to double check?
Check implementation

## Why was this MR needed?
Because auf a bug introduced in !3998.

## What are the relevant issue numbers?
#17357

Closes #17357

See merge request !4086
2016-05-08 22:07:40 +00:00
Robert Speicher 0e29653f51 Remove wall_enabled field from Project 2016-05-08 15:47:42 -04:00
Benedikt Huss ed2a7a1ec6 Fix build notification on merge request page change even if the build status didn't change 2016-05-08 21:41:09 +02:00
Long Nguyen 6781c1b4ba Add specs for user routing and update spec for user controller 2016-05-08 22:06:19 +07:00
Long Nguyen 3d4627047a Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into issue_15572_snippets_tab_under_user_profile 2016-05-08 15:30:51 +07:00
Long Nguyen ffda8a1a0e user routings refactor 2016-05-08 15:27:33 +07:00
Stan Hu adf9a51899 Escape HTML in commit titles in system note messages
Closes #17348
2016-05-07 08:41:10 -07:00
Stan Hu 21d89d0286 Update SVG sanitizer to conform to SVG 1.1
Use a custom Loofah scrubber since sanitize 2.x transformers are inadequate
to handle case-sensitive SVG attributes. sanitize parses documents as HTML
instead of XML, which causes all SVG attribute names (e.g. viewBox) to be downcased.

* SVG element list: https://www.w3.org/TR/SVG/eltindex.html
* SVG attribute list: https://www.w3.org/TR/SVG/attindex.html

Closes #14555
2016-05-06 23:20:24 -07:00
Ahmad Sherif ab4671f26a Fix adding a todo for private group members
Fixes #14002
2016-05-07 01:37:29 +02:00
Douwe Maan 0cdd4f310f Merge branch '14564-mr-automatic-title' into 'master'
Auto-set title for branches created from issues

This sets the title for a new MR to 'Resolves "$issue-title"' when:
- The source branch for the MR begins with a value iid.
- The MR has more than one commit in its diff (if there's one commit, keep using the commit's first line).
- The iid does not point to a confidential issue.

Single commit:

![A single commit uses the commit title](/uploads/cd34f59cd67f095c3034fae07950f8b5/image.png)

Multiple commits:

![Multiple commits use the issue title](/uploads/a322c406ddd56913c5aebd88d16e5a5e/image.png)

Confidential issue:

![A confidential issue uses the branch name](/uploads/7ae9b79de5f6101ced46802f3c3a6e71/image.png)

cc @DouweM @zj 

Closes #14564

See merge request !3966
2016-05-06 12:14:13 +00:00
Sean McGivern 09209725ce Don't auto-set MR title for confidential issues 2016-05-06 12:24:37 +01:00
Sean McGivern e76f339dcd Auto-set title for branches created from issues
If a branch starts with an issue's IID, followed by a hyphen, the
description will be updated to say that is closes the issue. This also
updates the title of the merge request to 'Resolves "$issue-title"', as
long as:
- There is more than one commit in the merge request (if there is only
  one commit, the commit's title will be used as before)
- The issue's IID is valid for the project
2016-05-06 12:24:37 +01:00
Sean McGivern 13d4d3c8b0 Add specs for MergeRequests::BuildService 2016-05-06 12:24:36 +01:00
Takuya Noguchi 4ab49fab94 Use outer join for issues ordering by milestones due. 2016-05-06 19:57:26 +09:00