Commit Graph

974 Commits

Author SHA1 Message Date
Douwe Maan 9d938fd77d List new commits for newly pushed branch in activity view. 2015-03-18 14:28:50 +01:00
Hannes Rosenögger 9e5738b007 Extend the commit calendar to show the actual commits for a date 2015-03-18 08:42:42 +01:00
Vinnie Okada feeffc4426 Merge branch 'master' into markdown-tags
Use the latest HTML pipeline gem
2015-03-17 20:53:09 -06:00
Douwe Maan e4ac6bbf82 Merge branch 'atom-xhtml-squashed' into 'master'
Fix invalid Atom feeds when using emoji, horizontal rules, or images

This is a fix for issues #880, #723, #1113.

Markdown must be rendered to XHTML, not HTML, when generating summary content for Atom feeds. Otherwise, content-less tags like *img* and *hr* are not terminated and make the Atom XML invalid. Such tags are generated when issue descriptions, merge request descriptions, comments, or commit messages use emoji, horizontal rules, or images.

To pass this option through from the relevant Haml templates to the proper place in the `gfm()` method, a new method `gfm_with_options()` is introduced. It reuses the options dictionary passed to `markdown()` and interprets options `xhtml` and `parse_tasks` from it (the latter was a convenient replacement for `gfm_with_tasks()`). `xhtml` is already interpreted by Redcarpet::Render::HTML, but that alone was not sufficient, because the post-processing in `gfm()` would convert its XHTML tags back to HTML.

I found no way of passing additional optional options to the existing `gfm()` method without requiring updates to existing callers and without getting in the way of the existing optional arguments, but maybe someone who knows more about Ruby than I can think of one.

Thorough review appreciated since this is the first time I have used Ruby.

See merge request !344
2015-03-17 08:38:38 +00:00
Christian Walther 90aa870c36 Fix invalid Atom feeds when using emoji, horizontal rules, or images.
Fixes issues #880, #723, #1113: Markdown must be rendered to XHTML, not HTML, when generating summary content for Atom feeds. Otherwise, content-less tags like <img> and <hr>, generated when issue descriptions, merge request descriptions, comments, or commit messages use emoji, horizontal rules, or images, are not terminated and make the Atom XML invalid.
2015-03-16 22:05:52 +01:00
Dmitriy Zaporozhets 648f38cd98 Merge branch 'fix-restricted-visibility' into 'master'
Restricted visibility levels - bug fix and new feature

This allows admin users to override restricted visibility settings when creating and updating projects and snippets, and moves the restricted visibility configuration from gitlab.yml to the web UI.  See #1903.

## Move configuration location

I added a new section to the application settings page for restricted visibility levels.  Each level has a checkbox, styled with Bootstrap to look like a toggle button.  A checked box means that the level is restricted.  I added a glowing text shadow and changed the background color for checked buttons because the default styles made it hard to distinguish between checked and unchecked.  This image shows the new section with the "Public" box checked:

![restricted_visibility_settings](https://dev.gitlab.org/Okada/gitlabhq/uploads/629562e4313f89b795e81c3bb0f95893/restricted_visibility_settings.png)

## Allow admins to override

To allow admin users to override the restricted visibility levels, I had to remove the `visibility_level` validation from the `Project` class.  The model doesn't know about the `current_user`, which should determine whether the restrictions can be overridden.  We could use the creator in the validation, but that wouldn't work correctly for projects where a non-admin user is the creator and an admin tries to change the project to a restricted visibility level.

The `Project::UpdateService` and `Project::CreateService` classes already had code to determine whether the current user is allowed to use a given visibility level; now all visibility level validation is done in those classes.  Currently, when a non-admin tries to create or update a project using a restricted level, these classes silently set the visibility level to the global default (create) or the project's existing value (update).  I changed this behavior to be more like an Active Model validation, where using a restricted level causes the entire request to be rejected.

Project and personal snippets didn't have service classes, and restricted visibility levels weren't being enforced in the model or the controllers.  The UI disabled radio buttons for restricted levels, but that wouldn't be difficult to circumvent.  I created the `CreateSnippetService` and `UpdateSnippetService` classes to do the same restricted visibility check that the project classes do.  And since I was dealing with snippet visibility levels, I updated the API endpoints for project snippets to allow users to set and update the visibility level.

## TODO

* [x] Add more tests for restricted visibility functionality

cc @sytse @dzaporozhets

See merge request !1655
2015-03-16 17:49:46 +00:00
Douwe Maan 31fc73f0a9 Use `project_member` instead of `team_member`. 2015-03-15 13:50:38 +01:00
Vinnie Okada ad0ca0499a Merge branch 'master' into fix-restricted-visibility
Conflicts:
	db/schema.rb
2015-03-14 10:49:11 -06:00
Dmitriy Zaporozhets afb694886e Merge branch 'ldap-unblock-user' into 'master'
Unblock user if they were unblocked in AD.

Fixes problem with !1687.

See merge request !1694
2015-03-13 22:25:47 +00:00
Douwe Maan 8fed435208 Unblock user if they were unblocked in AD. 2015-03-13 22:34:11 +01:00
Dmitriy Zaporozhets b8f5e23f27 Merge branch 'tag-branch-hooks' into 'master'
Execute hooks and services when branch or tag is created or deleted through web interface.

Fixes #2095.

Split up into commits to make it easier to see why what was changed :)

See merge request !1692
2015-03-13 16:42:01 +00:00
Douwe Maan 4e49f21b14 Set push data object kind in PushDataBuilder. 2015-03-13 14:51:48 +01:00
Douwe Maan 2718955441 Fix import pages not working after first load. 2015-03-13 13:47:26 +01:00
Dmitriy Zaporozhets e7f4f0ae1d Block user if he/she was blocked in Active Directory 2015-03-12 11:53:21 -07:00
Dmitriy Zaporozhets 158507d942 Add blue theme to GitLab 2015-03-11 21:29:11 -07:00
Dmitriy Zaporozhets b2f6567961 Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce 2015-03-11 09:57:59 -07:00
Dmitriy Zaporozhets e349ca1353 Merge branch 'ldap-filter-eq' into 'master'
Escape wildcards when searching LDAP by username.

Addresses https://dev.gitlab.org/gitlab/gitlabhq/issues/2086.

Also see https://dev.gitlab.org/gitlab/gitlab-ee/merge_requests/344 and https://dev.gitlab.org/gitlab/omniauth-ldap/merge_requests/2.

See merge request !1644
2015-03-11 16:57:28 +00:00
Hannes Rosenögger b0c1bc6657 Merge branch 'generate-valid-json' into 'master'
Generate valid json

This patch helps to be compatible to other programing languages as it improves the validation of hook data. It seems only ruby can handle 'nil' as value while other json decode function will fatal.

See merge request !182
2015-03-11 16:53:10 +00:00
Douwe Maan 383c56efa1 Use Gitlab::Git helper methods and constants as much as possible. 2015-03-10 13:39:31 +01:00
Nicole Cordes b7a31a4b02 Generate valid json for hooks
It seems that ruby can handle 'nil' value but other json processors
(like PHP) throw an error. This is always generated for empty arrays.
2015-03-10 10:07:25 +01:00
Vinnie Okada 928fc94c3d Enforce restricted visibilities for snippets
Add new service classes to create and update project and personal
snippets.  These classes are responsible for enforcing restricted
visibility settings for non-admin users.
2015-03-08 17:57:08 -06:00
Vinnie Okada cacac147de Move restricted visibility settings to the UI
Add checkboxes to the application settings page for restricted
visibility levels, and remove those settings from gitlab.yml.
2015-03-07 13:11:08 -07:00
Douwe Maan 4dddaef866 Automatically link commit ranges to compare page. 2015-03-07 00:46:13 +01:00
Stan Hu 7e204cf389 Added comment notification events to HipChat and Slack services.
Supports four different event types all bundled under the "note" event type:

- comments on a commit
- comments on an issue
- comments on a merge request
- comments on a code snippet
2015-03-06 06:54:00 -08:00
Douwe Maan 757dca2b78 Escape wildcards when searching LDAP by username. 2015-03-06 13:39:57 +01:00
Dmitriy Zaporozhets d07b2e09fe Merge branch 'timeout' into 'master'
Increase timeout for Git-over-HTTP requests.

Fixes #2081 and https://gitlab.com/gitlab-org/gitlab-ce/issues/232.

Normal web requests are bound by the `Rack::Timeout` timeout of 60 seconds, while Grack Git-over-HTTP requests are only bound by Unicorn's timeout which is now set to 1 hour, which should be plenty.

The omnibus package should be updated to no longer use `unicorn['worker_timeout']` for the Unicorn timeout, but to set the `Slowpoke.timeout`.

See merge request !1619
2015-03-05 02:28:58 +00:00
Douwe Maan 516bcabbf4 Increase timeout for Git-over-HTTP requests. 2015-03-04 23:20:47 +01:00
Dmitriy Zaporozhets 63178a9509 Merge branch 'add-more-slack-notifications' into 'master'
Add more Slack notifications for issue and merge request events

From https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/237 by Stan Hu.

See merge request !1556
2015-03-04 21:57:17 +00:00
Valery Sizov 3d9a766d9f Web Hook sends email of pusher 2015-03-04 20:29:25 +02:00
Marin Jankovski 3d6d0e1e77 Merge branch 'fix-namespace-merge-request-url' into 'master'
Fix namespace in merge request url building

Changes in 42387b733b now require namespace specification and broke abc69c8905.

There are additional helper functions in c530ca00b0, but this seemed easier not to rely on them.

See merge request !363
2015-03-04 01:08:52 +00:00
Stan Hu 2088cee935 Fix URL builder to use GitlabRoutingHelper 2015-03-03 15:57:28 -08:00
Dmitriy Zaporozhets 8c47a72a4e Merge branch 'project-existence-leak' into 'master'
Don't leak information about private project existence via Git-over-SSH/HTTP.

Fixes #2040 and https://gitlab.com/gitlab-org/gitlab-ce/issues/343.

Both `Grack::Auth` (used by Git-over-HTTP) and `Api::Internal /allowed` (used by gitlab-shell/Git-over-SSH) now return a generic "Not Found" error when the project exists but the user doesn't have access to it.

See merge request !1578
2015-03-03 20:05:12 +00:00
Jeroen van Baarsen abc69c8905 Merge branch 'fix-merge-request-url-builder' into 'master'
Fix merge request URL passed to Webhooks

If you look at the data structure passed to Webhooks, you will see:

`"url"=>nil`

I don't think any of the Webhooks or services are using this yet, so right now nothing so far depends upon this value being correct.

See merge request !352
2015-03-03 13:18:23 +00:00
Stan Hu afe5d7d209 Issue #595: Support Slack notifications upon issue and merge request events
1) Adds a DB migration for all services to toggle on push, issue, and merge events.

2) Upon an issue or merge request event, fire service hooks.

3) Slack service supports custom messages for each of these events. Other services
not supported at the moment.

4) Label merge request hooks with their corresponding actions.
2015-03-03 11:14:31 +01:00
Douwe Maan dd37a10df4 Don't leak information about private project existence via Git-over-SSH/HTTP. 2015-03-02 17:52:48 +01:00
Nicolas Bouilleaud 8d0690c5c7 Support names starting with a digit or _ for projects and users
This is what’s actually allowed when creating a user or a project in gitlab.
2015-03-02 11:01:17 +01:00
Dmitriy Zaporozhets a52529f9b6 Merge branch 'bitbucket-import'
Conflicts:
	app/views/import/gitorious/status.html.haml
	db/schema.rb
2015-02-25 09:21:45 -08:00
Douwe Maan 3fde1dce1f Satisfy Rubocop. 2015-02-24 15:07:25 +01:00
Douwe Maan 6979b3afd5 Delete deploy key from Bitbucket after importing. 2015-02-24 15:07:24 +01:00
Douwe Maan f2b37de54b Fix specs. 2015-02-24 15:07:24 +01:00
Douwe Maan 448817c4de Load public key in initializer. 2015-02-24 15:07:24 +01:00
Douwe Maan ad6d623234 Add Bitbucket importer. 2015-02-24 15:07:24 +01:00
Valery Sizov 71a844cdae Web Editor: save to new branch 2015-02-24 11:43:20 +02:00
Stan Hu e363f2e675 Fix merge request URL passed to Webhooks.
Previously the symbol "url" in the object_attributes hash would always be nil.
2015-02-24 06:51:24 +00:00
Dmitriy Zaporozhets c87c1cb3b9 Merge branch 'api-empty-commit' into 'master'
Improve error messages when file editing fails

Give more specific errors in API responses and web UI flash messages when a file update fails.  See #1479.

Instead of returning false from `Gitlab::Satellite::Files::EditFileAction#commit!` when a `Grit::Git::CommandFailed` error is raised, now `#commit!` raises a different error depending on whether the failure happened during checkout, commit, or push.

@dzaporozhets Please let me know if you want to change the HTTP status codes or the error messages in `Files::UpdateService`

cc @sytse

See merge request !1569
2015-02-24 02:17:23 +00:00
Dmitriy Zaporozhets d723bf78b8 Fix git-over-http 2015-02-23 10:05:18 -08:00
Vinnie Okada 5f232b5687 Improve error messages when file editing fails
Give more specific errors in API responses and web UI flash messages
when a file update fails.
2015-02-22 16:01:49 -07:00
Vinnie Okada 2a9eed6620 Merge branch 'master' into rails-4.1.9
Conflicts:
	app/views/projects/commits/_commit.html.haml
	app/views/projects/issues/_issue.html.haml
	app/views/projects/issues/_issue_context.html.haml
	app/views/projects/merge_requests/_merge_request.html.haml
	app/views/projects/merge_requests/show/_context.html.haml
2015-02-21 12:55:28 -07:00
Dmitriy Zaporozhets a224a655d8 Merge branch 'mr-commit-comment-diff-lines' into 'master'
Fix commit comments on first line of diff not rendering in Merge Request Discussion view.

Example can be seen near the bottom on this MR: !1533.

Before:

![Screen Shot 2015-02-20 at 10.24.34](https://dev.gitlab.org/uploads/gitlab/gitlabhq/35600b98b5/Screen_Shot_2015-02-20_at_10.24.34.png)

After: the [note](https://dev.gitlab.org/gitlab/gitlabhq/merge_requests/1533/diffs#note_36449) is actually rendered.

See merge request !1552
2015-02-21 02:06:39 +00:00
Marin Jankovski 8ae3112b3f Merge branch 'upload-xss-access-control' into 'master'
Fix note attachments XSS and access control

Replaces the reverted #1528, as proposed in https://gitlab.com/gitlab-org/omnibus-gitlab/issues/434, as discussed with @dzaporozhets and as summarized in #2032.

@marin Could you take a look at the nginx config and apply it to Omnibus once this gets merged?

See merge request !1553
2015-02-20 22:47:54 +00:00
Dmitriy Zaporozhets acc312fc25 Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce 2015-02-20 13:54:21 -08:00
Dmitriy Zaporozhets 92434b29cc Extend project web hooks with more data
* add git_http_url and git_ssh_url to project web hook
* add visibility_level to project web hook
* add documentation about project visibility_level in API
2015-02-20 10:27:37 -08:00
Marcin Kulik 157b4b4b1f Add gitorious.org importer 2015-02-20 17:42:58 +00:00
Douwe Maan 938a1381fc Satisfy Rubocop. 2015-02-20 16:04:03 +01:00
Douwe Maan 4310431ee7 Use modified ActionDispatch::Static to let uploads go through to routes. 2015-02-20 12:44:07 +01:00
Douwe Maan 0632e85c82 Fix commit comments on first line of diff not rendering in Merge Request Discussion view. 2015-02-20 10:23:34 +01:00
Vinnie Okada 9e9ce95d62 Merge branch 'master' into rails-4.1.9
Conflicts:
	app/views/dashboard/_project.html.haml
	app/views/events/event/_common.html.haml
	app/views/explore/projects/_project.html.haml
	app/views/groups/_projects.html.haml
	app/views/projects/_home_panel.html.haml
	app/views/projects/_issues_nav.html.haml
	app/views/projects/issues/_discussion.html.haml
	app/views/projects/issues/_issues.html.haml
	app/views/projects/issues/show.html.haml
	app/views/projects/merge_requests/_discussion.html.haml
	app/views/projects/merge_requests/_show.html.haml
	app/views/projects/milestones/index.html.haml
	app/views/projects/notes/_edit_form.html.haml
	app/views/shared/_issuable_filter.html.haml
2015-02-19 20:53:05 -07:00
Dmitriy Zaporozhets 7ad5fd6ce7 Merge branch 'access-check-when-signed-out' into 'master'
Fix push access check when not signed in.

Was causing 500 on MR, Blob, Tree pages.

Fixes https://github.com/gitlabhq/gitlabhq/issues/8637 and https://github.com/gitlabhq/gitlabhq/issues/8813.

See merge request !1542
2015-02-18 23:24:06 +00:00
Douwe Maan 3d6b042e9e Fix push access check when not signed in. 2015-02-18 21:59:15 +01:00
Dmitriy Zaporozhets a8a328b151 DB performance improvements to GitLab 2015-02-18 00:16:42 -08:00
Vinnie Okada 76aad9b76e Upgrade to Rails 4.1.9
Make the following changes to deal with new behavior in Rails 4.1.2:

* Use nested resources to avoid slashes in arguments to path helpers.
2015-02-14 11:09:23 -07:00
Douwe Maan 25e44d0530 Allow users that signed up via OAuth to set their password in order to use Git over HTTP(S). 2015-02-13 14:44:42 +01:00
Dmitriy Zaporozhets 2ff1b8e68d Merge branch 'clean-oauth-username' into 'master'
Clean username acquired from OAuth/LDAP.

Fixes #1967.
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/813

See merge request !1500
2015-02-13 00:39:34 +00:00
Douwe Maan 6685661b54 Clean username acquired from OAuth/LDAP.
Fixes #1967.
2015-02-12 21:05:27 +01:00
Marin Jankovski 29e606deec Add ExternalIssue base model to make issue referencing more robust for external issue trackers. 2015-02-11 09:21:57 -08:00
Nikita Verkhovin 8681cb3137 Add labels notes 2015-02-08 22:35:41 +06:00
Dmitriy Zaporozhets 89f8020fe1 Merge branch 'mention-groups'
Conflicts:
	CHANGELOG
2015-02-06 16:45:37 -08:00
Valery Sizov b3c90dd514 GitHub importer refactoring 2015-02-05 21:48:21 -08:00
Valery Sizov 1ac20698a5 gitlab.com importer: refactorig 2015-02-05 17:03:43 -08:00
Valery Sizov 93585661b1 code folding 2015-02-05 12:50:34 -08:00
Valery Sizov 33349dd549 GitLab.com integration: refactoring 2015-02-05 12:50:34 -08:00
Valery Sizov 18231b0bb3 GitLab.com integration: refactoring 2015-02-05 12:50:34 -08:00
Valery Sizov 7ddba92a39 Gitlab integration: added tests 2015-02-05 12:50:34 -08:00
Valery Sizov 5194214e3a GitLab integration. Importer 2015-02-05 12:50:34 -08:00
Douwe Maan 9910b7ff99 Allow groups to be mentioned.
Resolves #1673.
2015-02-05 19:10:52 +01:00
Dmitriy Zaporozhets 490cf7bfce Improve protected branches selectbox options 2015-02-03 18:12:20 -08:00
Dmitriy Zaporozhets 635ebac606 Merge branch 'master' into mwessel/gitlab-ce-configure-protection 2015-02-03 17:54:33 -08:00
Dmitriy Zaporozhets 61cc6a9244 Rubocop: indentation fixes Yay!!! 2015-02-02 21:59:28 -08:00
Dmitriy Zaporozhets d04344373b Rubocop: no trailing newlines 2015-02-02 21:53:27 -08:00
Dmitriy Zaporozhets 7d48205c1a Rubocop: comment indentation 2015-02-02 21:34:16 -08:00
Dmitriy Zaporozhets cc39bca3fa Rubocop: Style/AlignHash enabled 2015-02-02 21:15:44 -08:00
Dmitriy Zaporozhets c427bf08e4 Rubocop: Style/AlignArray enabled 2015-02-02 20:58:28 -08:00
Dmitriy Zaporozhets e890582681 Rubocop enabled for: Use spaces inside hash literal braces 2015-02-02 20:36:54 -08:00
Dmitriy Zaporozhets 4f1d1fc51b Convert hashes to ruby 1.9 style 2015-02-02 19:30:09 -08:00
Dmitriy Zaporozhets f1cf49218f Improve contribution calendar on user page
* cache user contributions for day
* ignore forks in calendar contribtuions
2015-01-29 17:07:44 -08:00
Marco Wessel 20e269cb92 Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into configure-protection
Conflicts:
	CHANGELOG
	db/schema.rb
2015-01-30 00:16:24 +01:00
Dmitriy Zaporozhets ca701a9649 Improvements to LDAP::User model
* method #changed? also tracks changes of identites (fixes issue with email mapping)
* find ldap identity before initialize one
2015-01-29 13:28:41 -08:00
Dmitriy Zaporozhets c9f18d4587 Make sure we dont have exception on date parsing 2015-01-29 01:03:20 -08:00
Dmitriy Zaporozhets a9288e554e Cleanup and make contribution calendar faster 2015-01-29 00:53:43 -08:00
Dmitriy Zaporozhets 6e1f9e746c Merge branch 'gitlab_importer' into 'master'
Ability to clone project using oauth2 token

See merge request !1447
2015-01-29 07:03:30 +00:00
Dmitriy Zaporozhets c39f80bdb4 Refactor commit calendar a bit. Fixed dates 2015-01-28 23:00:41 -08:00
Dmitriy Zaporozhets 815e9aa283 Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq into haynes/gitlab-ce-commit_calendar 2015-01-28 22:52:44 -08:00
Dmitriy Zaporozhets 953c1fff8f Be more careful with parsing changes from gitlab-shell 2015-01-28 17:00:40 -08:00
Hannes Rosenögger 792ced2f41 Add a commit calendar to the user profile 2015-01-29 01:25:26 +01:00
Valery Sizov 54f6d8c7b5 an ability to clone project with oauth2 token 2015-01-28 15:57:31 -08:00
Dmitriy Zaporozhets fc17b440f9 Merge branch 'move_external_issue_tracker_away_from_yml_config' into 'master'
Move external issue tracker away from yml config

See merge request !1442
2015-01-27 20:57:48 +00:00
Marin Jankovski 0da59cb55b Merge branch 'master' into move_external_issue_tracker_away_from_yml_config
Conflicts:
	app/models/project.rb
	spec/models/project_spec.rb
2015-01-26 22:12:53 -08:00
Dmitriy Zaporozhets a3d879d427 Refactor web editor 2015-01-26 20:57:42 -08:00
Marin Jankovski 00a0d5aeea Move repetition to the parent. 2015-01-26 16:24:11 -08:00
Dmitriy Zaporozhets 3e47ea5064 Files::CreateService can now commit file to empty repository 2015-01-26 13:31:24 -08:00
Marin Jankovski 65e700472b Update the issue tracker attribute on issue tracker change. 2015-01-26 11:39:32 -08:00
Marco Wessel afce47923c actually fix indentation 2015-01-25 18:38:35 +01:00
Marco Wessel b20fc14133 Fix indentation 2015-01-25 18:34:02 +01:00
Marco Wessel aad6ceaef9 Allow configuring protection of the default branch upon first push 2015-01-25 17:09:10 +01:00
Marin Jankovski c70dcd2907 Merge branch 'master' into move_external_issue_tracker_away_from_yml_config 2015-01-23 12:38:46 -08:00
Marin Jankovski 7c701acf57 Do a check which issue tracker is used inside the project. 2015-01-23 11:01:09 -08:00
Marin Jankovski 103a1bb06d Use service settings instead of config file settings to present issues. 2015-01-23 10:28:38 -08:00
Jacob Vosmaer f937e05949 Stop git zombie creation during force push check 2015-01-22 15:51:20 +01:00
Dmitriy Zaporozhets 0c4bb84910 Merge pull request #7762 from jubianchi/commit-closing-issues
Allow commit messages to close several issues at once
2015-01-21 11:49:13 -08:00
Valery Sizov ab7a79bf3b developer can push to protected branches 2015-01-20 17:34:23 -08:00
Valery Sizov 6da0ab7d60 Github Importer: AJAX update status 2015-01-20 11:52:55 -08:00
jubianchi b21a2d821a Allow commit messages to close several issues at once (thanks @123Haynes
for his work and help)
2015-01-20 10:45:48 +01:00
Marin Jankovski 465f41673a Merge branch 'database-fix-setting' into 'master'
Check for database connection when running current_application_settings

The PG connection errors don't always end up being caught as ActiveRecord::NoDatabaseError. So when doing a precompile without the database (like when using the omnibus), an exception was being thrown.

See merge request !292
2015-01-19 18:43:27 +00:00
Dmitriy Zaporozhets de27375d6c Test git builder over annotated tag 2015-01-15 11:17:47 -08:00
Dmitriy Zaporozhets a0d4235c04 Send checkout sha for web hooks and services 2015-01-15 10:26:33 -08:00
DJ Mountney 02d8575a61 Check for database connection before loading current application settings 2015-01-14 16:23:46 -08:00
Marin Jankovski e348af1d4c Rescue database error in application settings if the database still doesn't exist. 2015-01-14 09:03:25 +01:00
Dmitriy Zaporozhets 1e37e8924a Improve github import page UI 2015-01-13 11:44:17 -08:00
Dmitriy Zaporozhets bb1f8b1d8b Merge branch 'github_importer'
Conflicts:
	app/helpers/projects_helper.rb
2015-01-13 10:35:16 -08:00
Jacob Vosmaer 90e4b400ba Merge branch 'git-http-blacklist' into 'master'
Git HTTP blacklist

See merge request !1328
2015-01-13 10:02:49 +00:00
Dmitriy Zaporozhets 3197044512 Refactor push data builder. Moved it to separate class
Also execute GitLab CI on creating tag via UI
2015-01-11 23:51:31 -08:00
Valery Sizov a9f7fd2c1a Github Importer 2015-01-10 09:51:43 -08:00
Jacob Vosmaer bc95576e2c Rescue missing database errors
While loading the Rails app we cannot assume that the gitlabhq_xxx
database exists already. If we do, `rake gitlab:setup` breaks!

This is a quick hack to make sure that fresh development setups of
GitLab (from master) will work again.
2015-01-09 11:26:26 +01:00
Dmitriy Zaporozhets d531de0bc9 Merge branch 'popen_close_stdin'
Conflicts:
	CHANGELOG
2015-01-08 15:54:34 -08:00
Dmitriy Zaporozhets d0a50985ec Create ApplicationSettings if does not exist in runtime 2015-01-08 11:26:16 -08:00
Dmitriy Zaporozhets 8133e44998 Hack for migrating to new settings 2015-01-08 10:30:35 -08:00
Dmitriy Zaporozhets 57a65ede77 Improve application settings and write tests 2015-01-08 09:53:35 -08:00
Jacob Vosmaer dec168932e Merge remote-tracking branch 'dev_gitlab_org/master' into git-http-blacklist
Conflicts:
	CHANGELOG
2015-01-08 10:57:08 +01:00
Jacob Vosmaer af56c1dd32 White-list requests from 127.0.0.1
On some misconfigured GitLab servers, if you look in production.log it looks
like all requests come from 127.0.0.1. To avoid unwanted banning we
white-list 127.0.0.1 with this commit.
2015-01-06 16:56:56 +01:00
Jacob Vosmaer 52bc4e79f8 Close standard input in Gitlab::Popen.popen 2015-01-05 11:51:21 +01:00
Marin Jankovski 92eb3974ac Add option to disable/enable developers push to already protected branches. 2014-12-26 11:39:12 +01:00
Marin Jankovski 770b2a5cfb Move protected branch actions into a method. 2014-12-26 09:52:39 +01:00
Marin Jankovski 61b4214e94 Allow regular code push for developers if the protected branch allows it. 2014-12-26 09:35:49 +01:00
Jacob Vosmaer c8b2def2be Add more comments explaining how we block IPs 2014-12-18 11:08:11 +01:00
Drew Blessing f06f69b9da Add theme type css class 2014-12-15 13:21:26 -06:00
Jacob Vosmaer 62ea02740d Block Git HTTP Basic Auth after 10 failed attempts 2014-12-15 18:57:42 +01:00
Dmitriy Zaporozhets 7d662114b3 Merge branch 'sidekiq_memory_killer_grace_time' into 'master'
Add 'grace time' behavior to Sidekiq MemoryKiller

The previous iteration of the memory killer did not give 'large'
jobs much of a chance to finish. This caused them to come back after
each restart, leading to another memory-induced shutdown. By adding
some 'grace time' between the moment we detect a memory peak and
the moment we start shutting down, we hope to give Sidekiq a chance
to get whatever causes its memory to grow 'out of its system'.

See merge request !1313
2014-12-08 13:17:10 +00:00
Jacob Vosmaer 2fcef3278c Fix typo 2014-12-08 13:39:18 +01:00
Jacob Vosmaer 3dd86b83ba Use constants instead of getters 2014-12-08 13:19:31 +01:00
Jacob Vosmaer 4f9a14061b Wait 15 minutes before Sidekiq MemoryKiller action 2014-12-05 17:29:34 +01:00
Dmitriy Zaporozhets 4491a3d12b
Decline push if repository does not exist
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-12-05 18:17:51 +02:00
Valery Sizov 3a5ed5260b Supporting for multiple omniauth provider for the same user 2014-12-04 13:03:55 +02:00
Valery Sizov 1a80d13a39 Multi-provider auth. LDAP is not reworked 2014-12-04 13:01:50 +02:00
Dmitriy Zaporozhets 835cbc06d8
Reload mr code on force push too
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-12-02 17:42:56 +02:00
Dmitriy Zaporozhets 06b7907c2a
Fix deploy keys permission check in internal api
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-12-01 16:25:10 +02:00
Jacob Vosmaer d336127a20 Add comments to the MemoryKiller middleware 2014-11-28 15:19:03 +01:00
Jacob Vosmaer 64ab6c9ed5 Add 'MemoryKiller' Sidekiq middleware
When enabled, this middleware allows Sidekiq to detect that its RSS has
exceeded a maximum value, triggering a graceful shutdown. This
middleware should be combined with external process supervision that
will restart Sidekiq after the graceful shutdown, such as Runit.
2014-11-28 15:01:41 +01:00
Valery Sizov ef944e83ec Git hook messages: wiki access fix 2014-11-24 16:21:35 +02:00
Valery Sizov 53bf52f191 Better message for failed pushes because of git hooks
Conflicts:
	lib/gitlab/git_access.rb
	spec/lib/gitlab/git_access_spec.rb
2014-11-18 13:10:07 +02:00
Dmitriy Zaporozhets f56541de9a Revert "Create dev fixture projects with fixed visibility"
This reverts commit a9fadce361.
2014-11-10 16:17:04 +02:00
Dmitriy Zaporozhets 6641341b65 Merge pull request #8254 from cirosantilli/factor-get-shell-version
Factor GITLAB_SHELL_VERSION get method
2014-11-08 11:04:56 +02:00
Marin Jankovski 1d337defec Merge pull request #8168 from cirosantilli/dev-fixtures-visibility
Create dev fixture projects with fixed visibility
2014-11-07 15:26:48 +01:00
Valery Sizov bf8b874117 fix system silent call 2014-11-06 13:07:42 +02:00
Valery Sizov d1b489e048 Revert "Revert "Don't output to stdout from lib non-interactive methods""
This reverts commit b33d4bc2f1.
2014-11-06 13:07:16 +02:00
Valery Sizov b33d4bc2f1 Revert "Don't output to stdout from lib non-interactive methods"
This reverts commit 0b1084a453.
2014-11-06 11:58:00 +02:00
Ciro Santilli f36db59d97 Factor GITLAB_SHELL_VERSION get method 2014-11-05 17:16:04 +01:00
Valeriy Sizov 2b00de710d Merge pull request #8236 from cirosantilli/rm-lib-stdout
Don't output to stdout from lib non-interactive methods [failure unrelated]
2014-11-05 16:24:50 +02:00
Ciro Santilli 0b1084a453 Don't output to stdout from lib non-interactive methods
It pollutes the test output too much.
2014-11-05 12:35:33 +01:00
Marin Jankovski 42a1d8083c Merge pull request #7516 from cirosantilli/update-regex-msg
Update default regex message to match regex.
2014-11-05 11:38:29 +01:00
Dmitriy Zaporozhets 876c6f2491 Merge branch 'master' of github.com:gitlabhq/gitlabhq 2014-11-04 10:48:38 +02:00
Ciro Santilli 71ed0ab069 Fix push not allowed to protected branch if
commit starts with 7 zeros.
2014-11-03 20:37:47 +01:00
Dmitriy Zaporozhets e1c48f1431
Merge branch 'master' into jastkand/gitlab-ce-fix-api-auth
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

Conflicts:
	CHANGELOG
2014-11-03 14:10:53 +02:00
Robert Schilling e9171fea85 Merge pull request #8217 from bbodenmiller/change-label-generation
remove feature label
2014-11-01 10:38:25 +01:00
Ben Bodenmiller 3e55d56c90 remove feature label
For automatic label generation remove label `feature` as it is basically means the same thing as label `enhancement`.
2014-10-31 17:22:16 -07:00
Ciro Santilli d549a2a525 Factor lib backend gitlab shell path 2014-10-31 13:00:50 +01:00
Andrey Krivko bafd30f92c Session API: Use case-insensitive authentication like in UI 2014-10-30 18:29:18 +02:00
Dmitriy Zaporozhets f4178f9601 Merge pull request #8005 from cirosantilli/settings-to-gitlab-config
Use Gitlab.config instead of Settings everywhere
2014-10-27 19:18:48 +02:00
Ciro Santilli a9fadce361 Create dev fixture projects with fixed visibility 2014-10-26 11:34:50 +01:00
Jacob Vosmaer 472a6621e9 Fix LDAP config lookup for provider 'ldap' 2014-10-23 22:57:16 +02:00
Marin Jankovski 1c1d9f78a4 Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq 2014-10-23 16:41:39 +02:00
Jacob Vosmaer 6b2b20af41 Fix LDAP authentication for Git HTTP access 2014-10-23 14:21:58 +02:00
Robert Schilling 36649fc250 Merge pull request #8150 from cirosantilli/unecessary-variable-user
Remove unused variable user at lib/gitlab/markdown
2014-10-23 13:58:24 +02:00
Ciro Santilli 40815b2baf Remove unused variable user at lib/gitlab/markdown 2014-10-23 13:12:21 +02:00
Dmitriy Zaporozhets c5ad011917 Merge branch 'fix-ldap-check' into 'master'
Fix ldap check

Fixes gitlab/gitlabhq#1691

See merge request !1206
2014-10-22 08:07:08 +00:00
Dmitriy Zaporozhets da21b9e7d0
Fix rake gitlab:ldap:check
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-10-21 18:26:40 +03:00
Robert Schilling d29dd2cfec Merge pull request #8117 from cirosantilli/improve-grack-comment
Improve grack auth hooks comment.
2014-10-21 13:10:00 +02:00
Ciro Santilli ce056d8074 Improve grack auth hooks comment. 2014-10-21 12:36:09 +02:00
Dmitriy Zaporozhets ee068e76f3 Merge pull request #7961 from cirosantilli/dry-log-file-names
Factor admin logs [failure unrelated]
2014-10-21 11:59:41 +03:00
Dmitriy Zaporozhets f8cdd62e22
Fix account existing blocking
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-10-17 14:08:02 +03:00
Jan-Willem van der Meer d9bfebc0e8 Add regressiontest to verify allow_single_sign_on setting
verification for #1677

Since testing omniauth_callback_controller.rb is very difficult, the logic
is moved to the models
2014-10-16 20:08:30 +02:00
Ciro Santilli 39c66c822e Use Gitlab.config instead of Settings everywhere 2014-10-15 23:01:31 +02:00
Jan-Willem van der Meer 6ce65a3e95 Use Hash syntax for LDAP server declaration 2014-10-14 13:13:59 +02:00
Jan-Willem van der Meer 9bf7bfda20 Remove unused methods 2014-10-14 12:09:24 +02:00
Jan-Willem van der Meer ab04096c6c Add explaining note to authentication method [skip ci] 2014-10-14 11:16:47 +02:00
Jan-Willem van der Meer 18d2ee31e8 Use server specific uid 2014-10-14 10:54:43 +02:00
Jan-Willem van der Meer d3056feb11 Make sure the filters are applied 2014-10-14 10:08:47 +02:00
Jan-Willem van der Meer b229b0f003 Fix authorization for LDAP login 2014-10-14 09:40:35 +02:00
Jan-Willem van der Meer 93505f7d04 DRY find method to find Gitlab user 2014-10-14 09:05:29 +02:00
Jan-Willem van der Meer 410d6e306b Remove unused method 2014-10-14 08:54:15 +02:00
Jan-Willem van der Meer 01b791237c Refactor lib files for multiple LDAP groups 2014-10-13 17:24:05 +02:00
Dmitriy Zaporozhets 9229893c8a Merge branch 'feature-oauth-refactoring' into 'master'
Feature oauth refactoring

same MR as gitlab/gitlab-ee!188

See merge request !1169
2014-10-13 11:46:45 +00:00
Vinnie Okada 6798a6a8e2 Allow HTML tags in user Markdown input
Allow whitelisted tags to appear in rendered HTML output by disabling
Redcarpet's `:filter_html` option.
2014-10-10 14:42:24 -05:00
Marin Jankovski 2ea166fc33 Make sure relative url and asset_host are honored, specs. 2014-10-10 17:31:47 +02:00
Jan-Willem van der Meer d059f50d4c Refactor OAuth refactorings to CE 2014-10-10 12:03:32 +02:00
Marin Jankovski b4828f4cf6 Enable markdown pipeline filters from inside gitlab. 2014-10-09 13:33:38 +02:00
Dmitriy Zaporozhets 0bf99f6557
Developers can push to wiki repo. Protected branches does not affect wiki repo any more
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-10-07 16:05:24 +03:00
Dmitriy Zaporozhets 7bcd6f79a4 Merge pull request #7963 from cirosantilli/factor-previewable
Factor markup? || gitlab_markdown? into new method
2014-10-07 12:19:28 +03:00
Vinnie Okada 9f0083a96c Add task lists to issues and merge requests
Make the Markdown parser recognize "[x]" or "[ ]" at the beginning of a
list item and turn it into a checkbox input.  Users who can modify the
issue or MR can toggle the checkboxes directly or edit the Markdown to
manage the tasks.  Task status is also displayed in the MR and issue
lists.
2014-10-05 22:15:27 -05:00
Ciro Santilli 9bebacd692 Dry admin logs. 2014-10-06 00:14:46 +02:00
Vinnie Okada a9cd3bfaee Fix external commit links
Display the '@' character for links to commits in other projects.
2014-10-05 10:16:12 -05:00
Vinnie Okada bcf88c8559 Fix external issue links
Display the project path in links to issues in other projects that use
an external issue tracker.
2014-10-05 10:12:53 -05:00
Ciro Santilli 07e9cb6b77 Factor markup? || gitlab_markdown? into new method 2014-10-04 17:56:12 +02:00
Vinnie Okada 2c46c4523f Track projects in ReferenceExtractor
Store both the project and identifier of extracted references.  This
prevents `ReferenceExtractor` from returning objects in the wrong
project for cross-project references.
2014-10-03 12:30:20 -05:00
Vinnie Okada 7edc1439fe Fix ReferenceExtractor
The cross-project reference feature broke the ReferenceExtractor class;
this fixes it.
2014-10-03 12:30:20 -05:00
Vinnie Okada 1b1ba6b0a5 Implement cross-project Markdown references
Enable linking to commits, merge requests, and issues in other projects
by prepending a namespaced project path to the reference.
2014-10-03 12:30:20 -05:00
Ciro Santilli 2e9f5de868 Add parenthesis to function def with arguments. 2014-10-03 09:18:46 +02:00
Dmitriy Zaporozhets 6c3ad0dab6 Merge pull request #7853 from Razer6/feature/html_pipeline
Factor out Emoji parsing using html-pipeline-gitlab
2014-10-02 11:18:40 +03:00
Ciro Santilli 6bae8c48ef Update default regex message to match regex. 2014-10-01 13:19:40 +02:00
Marin Jankovski f7aba277e7 Add option to gitlab config to specify if LDAP server is active directory. 2014-09-30 12:07:31 +02:00
Dmitriy Zaporozhets 3a8cd1fa59
Refactor commits graph
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-09-29 12:05:17 +03:00
Robert Schilling 390183a426 Factor out Emoji parsing using html-pipeline-gitlab 2014-09-26 01:32:33 +02:00
Dmitriy Zaporozhets 66ef5c1aa2
Fix satellites
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-09-25 16:10:10 +03:00
Dmitriy Zaporozhets 424b42d6e9
Fix 500 error on empty search in project
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-09-25 15:01:02 +03:00
Dmitriy Zaporozhets 4b65b0e0f5
Fix wiki
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-09-25 13:56:23 +03:00
Dmitriy Zaporozhets b13c1469a3
Rollback diff drop and set default commit id to HEAD
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-09-25 12:46:30 +03:00
Dmitriy Zaporozhets 13aec95264 Improve diff and bump gitlab_git revision 2014-09-24 15:59:57 +03:00
Dmitriy Zaporozhets 53f2130e63 Use new version of gitlab_git with extended rugged usage 2014-09-24 13:26:53 +03:00
Jacob Vosmaer f12d6278ed Fix ref parsing in Gitlab::GitAccess 2014-09-23 13:18:36 +02:00
Dmitriy Zaporozhets c69b8e0459
Huge replace of old users_project and users_group references
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-09-14 19:32:51 +03:00
Jan-Willem van der Meer bf0de1a500 Merge remote-tracking branch 'origin/master' into feature-oauth-refactoring 2014-09-11 11:46:08 +02:00
Dmitriy Zaporozhets 6b7e80cb19
Prevent 500 error when search wiki for non-existing repo
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-09-09 17:56:33 +03:00
Dmitriy Zaporozhets 638331d05a Merge branch 'parallel_diff_refactor' into 'master'
Parallel diff refactor

Refactor side-by-side diff to remove code duplication.

Base the side-by-side diff on inline diff code.

In first iteration:

1. commenting on the side-by-side diff is not possible
1. no expanding of the surrounding code

See merge request !1066
2014-09-09 13:57:50 +00:00
Dmitriy Zaporozhets 0e78d00bcb Merge pull request #7695 from coverer/search_wiki
Added search wiki feature
2014-09-09 16:50:43 +03:00
Sytse Sijbrandij 685757b9d6 Prevent people from using ci since we plan to host ci on /ci later. 2014-09-09 10:11:07 +02:00
Dmitriy Zaporozhets 9e4a40982e Merge pull request #7646 from bushong1/snippet-search3
Adding in snippet search functionality
2014-09-09 10:31:21 +03:00
Dmitriy Zaporozhets 218219abbd
Refactoring inside refactoring. We need to go deeper
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-09-08 21:54:52 +03:00
Dmitriy Zaporozhets bde3f25d26
Specs for diff parser! Yay!
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-09-08 20:42:12 +03:00
Dmitriy Zaporozhets 531f16beb0
Use new diff parsing logic
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-09-08 16:27:12 +03:00
Dmitriy Zaporozhets 4ef809c77d
Gitlab::Diff classes added
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-09-08 16:25:50 +03:00
Jan-Willem van der Meer b18d1c2786 Remove duplicated create method 2014-09-08 15:25:42 +02:00
Marin Jankovski 3131d0609c Merge pull request #7147 from zzet/patch-12
Update markdown reference to external issues
2014-09-08 14:56:29 +02:00
Jan-Willem van der Meer 11bb67c3c6 Test authenticate method for Gitlab::LDAP::User 2014-09-08 14:53:59 +02:00
Marin Jankovski 721b75733c Take the next type into consideration 2014-09-08 09:05:17 +02:00
Marin Jankovski f827482c12 Remove duplication, expand for next_line. 2014-09-08 09:05:16 +02:00
Marin Jankovski 1067b00724 Duplicate the behaviour and refactor for use with parallel diff. 2014-09-08 09:05:16 +02:00
Ralf Seidler 9edf6d4dd0 Fixed trailing white space 2014-09-06 20:42:11 +02:00
Dmitriy Zaporozhets 9f505954a6
Fix tests for CI
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-09-06 13:20:37 +03:00
Ralf Seidler 23241c181c Fixed houndci complaining over too long lines 2014-09-06 11:46:14 +02:00
Charles Bushong 858dbd0842 Updating to persist a params snippets variable 2014-09-05 13:30:55 -04:00
Ralf Seidler d93b046c4c Added search wiki feature 2014-09-05 13:36:43 +02:00
Sean Edge 468b2e8e0b Added annotated tags. Updated tag haml file and call to gitlab-shell. Updated API for annotated tags. Added tests for API. Strip leading/trailing whitespace from message, if present. Update CHANGELOG. 2014-09-04 09:47:20 -04:00
Jan-Willem van der Meer 18f88a1b76 Add new Gitlab::Oauth::AuthHash class 2014-09-04 13:00:27 +02:00
Jan-Willem van der Meer 5b86dab03b Move auth hash to a seperate class 2014-09-04 12:55:10 +02:00
Jan-Willem van der Meer 1bd15fa717 Use instance methods of LDAP::User as well
Still in need of some proper cleanup
2014-09-03 17:33:03 +02:00
Jan-Willem van der Meer 62fc80642d Refactor Oauth::User class to use instance methods 2014-09-03 15:59:50 +02:00
Robert Schilling 551145bc98 Validate branch-names and references in WebUI, API
Add specs for GitRefValidator
2014-09-03 13:08:35 +02:00
Dmitriy Zaporozhets 596bf4c2a5
Merge branch 'feaure-ldap-oauth-tests'
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

Conflicts:
	spec/lib/gitlab/oauth/user_spec.rb
2014-09-03 13:52:40 +03:00
Charles Bushong b1411e90f8 Changing some formatting for the Hound, modifying some UI text 2014-09-02 08:33:23 -04:00
Dmitriy Zaporozhets 6438ac72fc Merge branch 'master' of github.com:gitlabhq/gitlabhq 2014-09-02 12:22:45 +03:00
Dmitriy Zaporozhets 3a3c4ea436 Merge branch 'gitlab-shell-2-0' into 'master'
Modify GitLab to work with gitlab-shell 2.0

Related to #1516

See merge request !1057
2014-09-02 09:20:15 +00:00