Commit Graph
2242 Commits
Author SHA1 Message Date
Dmitriy Zaporozhets e1099f9717 Merge branch 'google-code-import-performance' into 'master'
Decrease memory use and increase performance of Google Code importer.

Addresses private issue https://dev.gitlab.org/gitlab/gitlabhq/issues/2241.

See merge request !536
2015-04-17 14:01:33 +00:00
Douwe Maan 38982136ec Decrease memory use and increase performance of Google Code importer. 2015-04-17 14:55:51 +02:00
Douwe Maan 7d98c8842d Move import data out of project so it doesn't take ages to load. 2015-04-17 14:49:00 +02:00
Vinnie Okada acd80bdc2d Add new rake task
Add a task that checks repository integrity with `git fsck`.
2015-04-15 22:22:20 -06:00
Douwe Maan 80097606f5 Make sure user has access to namespace in import tests. 2015-04-15 16:58:43 +02:00
Dmitriy Zaporozhets 345e32d332 Merge branch 'sstanovnik-openssh_fix' into 'master'
Fix generating SSH key fingerprints with OpenSSH 6.8.

Replaces https://github.com/gitlabhq/gitlabhq/pull/9008.

Fixes gitlab-org/gitlab-ce#1289.

cc @jacobvosmaer

See merge request !519
2015-04-15 12:40:30 +00:00
Dmitriy Zaporozhets 4ab22a8c32 Merge branch 'ldap-block_auto_created_users' into 'master'
Add config var to block auto-created LDAP users.

Addresses private issue https://dev.gitlab.org/gitlab/gitlabhq/issues/2110.

See merge request !522
2015-04-15 12:36:43 +00:00
Dmitriy Zaporozhets e3d818a4e8 Merge branch 'invitation' into 'master'
Allow users to be invited.

Addresses private issue https://dev.gitlab.org/gitlab/gitlabhq/issues/2058.

The "Add members" panes for both Group Members and Project Members have gained a line of text by the People field.

![Screen_Shot_2015-04-10_at_14.14.32](https://gitlab.com/gitlab-org/gitlab-ce/uploads/fe990e65eccd9203d7324b492941362b/Screen_Shot_2015-04-10_at_14.14.32.png)

Entering an email address that is not already a member will give you the option to invite them.

![Screen_Shot_2015-04-10_at_14.14.48](https://gitlab.com/gitlab-org/gitlab-ce/uploads/d6b0d4571ea90f2a2e4af8f5b336e8e1/Screen_Shot_2015-04-10_at_14.14.48.png)

Choosing the option will add them to the People field. This works the right way (TM) in combination with adding existing users as members.

![Screen_Shot_2015-04-10_at_14.15.09](https://gitlab.com/gitlab-org/gitlab-ce/uploads/a618e5ec292d79578b16400dca6d4cfe/Screen_Shot_2015-04-10_at_14.15.09.png)

The invited member will be shown in the members list as such. The access level can be changed, and the invite can be revoked by deleting the member.

![Screen_Shot_2015-04-10_at_14.15.19](https://gitlab.com/gitlab-org/gitlab-ce/uploads/3695b9a6778d367b275115747579b46e/Screen_Shot_2015-04-10_at_14.15.19.png)

The invited user will receive an email with an "Accept invitation" link.

![Screen_Shot_2015-04-10_at_14.17.52](https://gitlab.com/gitlab-org/gitlab-ce/uploads/730121888153117d83c3cd0e4f5c90f6/Screen_Shot_2015-04-10_at_14.17.52.png)

If they're not already logged in, clicking this link will redirect them to the sign in/up page with a helpful notice.

![Screen_Shot_2015-04-10_at_14.18.12](https://gitlab.com/gitlab-org/gitlab-ce/uploads/1a26a5fa13321e7ef77ed8b538c8557d/Screen_Shot_2015-04-10_at_14.18.12.png)

Signing in or signing up will redirect them back to the invite detail page, where they can actually accept the invitation, which will update the member record in question to point to the user in question.

![Screen_Shot_2015-04-10_at_14.18.48](https://gitlab.com/gitlab-org/gitlab-ce/uploads/7ac33085463a99b8cfa6baa13bfa1235/Screen_Shot_2015-04-10_at_14.18.48.png)

Accepting the invitation will redirect them to the group (or project) with an appropriate notice.

![Screen_Shot_2015-04-10_at_14.18.58](https://gitlab.com/gitlab-org/gitlab-ce/uploads/7bf02a2e3bea589a11df401c23e68648/Screen_Shot_2015-04-10_at_14.18.58.png)

As currently, they will also receive this information by email.

![Screen_Shot_2015-04-10_at_14.24.00](https://gitlab.com/gitlab-org/gitlab-ce/uploads/b44a342068433a268c0a06ed9e791ffa/Screen_Shot_2015-04-10_at_14.24.00.png)

At the same time, the person who initially invited the email address is sent a notification as well, so they know of the new member and to tell them what name the user signed up with.

![Screen_Shot_2015-04-10_at_14.19.07](https://gitlab.com/gitlab-org/gitlab-ce/uploads/b29fea128186f938ec76bd7dec016b83/Screen_Shot_2015-04-10_at_14.19.07.png)

The member row on the Members page will now have been updated with the new user account.

![Screen_Shot_2015-04-10_at_14.19.23](https://gitlab.com/gitlab-org/gitlab-ce/uploads/cf503d3d1679614e03acec2e946a28c3/Screen_Shot_2015-04-10_at_14.19.23.png)

See merge request !500
2015-04-15 10:48:28 +00:00
Douwe Maan 63b21945d2 Merge branch 'google-code-import' into 'master'
Import projects from Google Code.

Resolves #1257.

Issue import logic almost entirely taken from https://gitlab.com/o9000/google-code-to-gitlab ( ♥️ @o9000).

### To do

- [x] List projects from Google Takeout file
- [x] Import Git repository
- [x] Import issues
- [x] Link to correct attachment URL (https://code.google.com/p/support-tools/issues/detail?id=50)
- [x] Handle deleted attachments
- [x] Handle blockedOn attribute
- [x] Add directions on how to get data from Google Takeout

### Import instructions

![Screen_Shot_2015-04-03_at_16.02.21](https://gitlab.com/gitlab-org/gitlab-ce/uploads/4a87038035fbad9441cf613b8cdcc690/Screen_Shot_2015-04-03_at_16.02.21.png)

### Imported issue

![Screen_Shot_2015-04-03_at_16.25.49](https://gitlab.com/gitlab-org/gitlab-ce/uploads/b2c2eaf5ecfcf57b3c48511eb5d26db4/Screen_Shot_2015-04-03_at_16.25.49.png)

See merge request !471
2015-04-15 06:53:42 +00:00
Douwe Maan 9d00bb0896 Import Google Code issue assignee when mapped. 2015-04-14 23:22:14 +02:00
Douwe Maan 2f797a140b Skip issue comment when its content, updates and attachments are empty. 2015-04-14 23:13:48 +02:00
Douwe Maan 238e4f0295 Add config var to block auto-created LDAP users. 2015-04-14 17:09:05 +02:00
Douwe Maan c43411e97a Non-persisted users already have the identity by way of build_new_user. 2015-04-14 17:08:49 +02:00
Douwe Maan 076494646d Simplify regex. 2015-04-14 15:58:28 +02:00
Douwe Maan dba63d667d Allow user map to be specified. 2015-04-14 14:50:56 +02:00
Douwe Maan f6cb42f3d1 Add comment number to imported Google Code comments. 2015-04-14 13:13:18 +02:00
Douwe Maan dfe659c16d Remove author link since all code.google.com links will be shut down. 2015-04-14 13:11:29 +02:00
Douwe Maan 2b2bd402dc Track who created a group or project member. 2015-04-14 12:06:42 +02:00
Douwe Maan e6569defe6 Use through-relation instead of manually mapping. 2015-04-14 12:05:50 +02:00
Douwe Maan ff3caad4ca Rename manage_group ability to admin_group for consistency with project. 2015-04-14 12:05:49 +02:00
Douwe Maan 1221bec56c Refactor key fingerprint generation. 2015-04-14 12:00:43 +02:00
Dmitriy Zaporozhets 4ab717ea6a Merge branch 'ldap_migration'
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

Conflicts:
	db/schema.rb
2015-04-13 17:18:02 +03:00
Dmitriy Zaporozhets ecb58dacd6 Merge branch 'reference-access-control' into 'master'
Only allow users to reference groups, projects, issues, MRs, commits they have access to.

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

See merge request !1742
2015-04-13 14:10:25 +00:00
Dmitriy Zaporozhets 6e88d9335b Merge branch 'skip-email-reconfirmation' into 'master'
Skip email confirmation when set by admin or via LDAP.

Addresses private issue https://dev.gitlab.org/gitlab/gitlabhq/issues/2203.

See merge request !494
2015-04-13 13:44:56 +00:00
Dmitriy Zaporozhets 7f04a4174e Merge branch 'shell-version-warning' into 'master'
Warn when gitlab-shell version doesn't match requirement.

Addresses private issue https://dev.gitlab.org/gitlab/gitlabhq/issues/1791.

See merge request !495
2015-04-13 13:05:47 +00:00
Jacob Vosmaer 325b66365b Remove special cases for the 'ldap' provider 2015-04-13 11:04:31 +02:00
Dmitriy Zaporozhets 0d881c7873 Merge pull request #9114 from dreis2211/dreis2211-patch-1
Include creator_id in project info of API
2015-04-10 21:29:10 +03:00
Christoph Dreis 1fdc610fa5 Include creator_id in project info of API 2015-04-10 18:35:05 +02:00
Dmitriy Zaporozhets 24d139ba97 Merge branch 'rs-revert-preload-lib' into 'master'
Revert "Preload lib/"

This reverts commit 5511a731bc.

The original commit added this because it also enabled threadsafety, a change which was itself later reverted in 66d6c80966, but this got left behind.

I don't fully understand the reasoning behind it so if I'm wrong, please tell me.

My reasoning for reverting it is that it messes with Rails' (and by extension Spring's) class reloading during development. When I was working in `lib/gitlab/markdown` and had to stop and restart the server every time I made a change, I didn't know it at the time, but this was why. That was a huge pain point.

If it's needed for production perhaps we could add a `if Rails.env.production?` clause around it so that it doesn't mess with development.

See merge request !1758
2015-04-10 14:34:57 +00:00
Robert Speicher 5a0ff2f52f Be more explicit about which "Markdown" ReferenceExtractor includes 2015-04-09 17:28:46 -04:00
Robert Speicher c9a1634f31 Move lib/gitlab/contributors to its correct path 2015-04-09 15:34:55 -04:00
Robert Speicher abae9b8d63 Add autoloads for lib/gitlab/satellite/files/*
These files don't match their naming convention, but for organizational
purposes it makes sense.
2015-04-09 14:19:25 -04:00
Robert Speicher 91c39fd8c7 Add lib/gitlab.rb to autoload non-conventional paths 2015-04-09 14:19:25 -04:00
Robert Speicher 2cefdbb535 Move lib/gitlab/oauth to lib/gitlab/o_auth
Lets Rails autoload these files by name
2015-04-09 14:19:24 -04:00
Douwe Maan 99abbe7dbe Use Projects::CreateService to create imported projects so hooks are executed. 2015-04-06 14:51:09 +02:00
Douwe Maan f915a4b80f Warn when gitlab-shell version doesn't match requirement. 2015-04-06 14:02:49 +02:00
Douwe Maan f2af30f195 Skip email confirmation when set by admin or via LDAP. 2015-04-06 13:27:19 +02:00
Douwe Maan 06399b3261 Show Google Code image attachments inline. 2015-04-04 14:19:05 +02:00
Douwe Maan e33ddfebf2 Refactor ClosingIssueExtractor. 2015-04-03 18:03:26 +02:00
Douwe Maan b492f0f86e Refactor ReferenceExtractor. 2015-04-03 18:03:15 +02:00
Douwe Maan 9d647197da Don't require user to every gfm call. 2015-04-03 18:03:01 +02:00
Douwe Maan c590cd3443 Mask owner email when updated. 2015-04-03 16:21:32 +02:00
Douwe Maan 7b5bc32cad Allow projects to be imported from Google Code. 2015-04-03 15:29:27 +02:00
Hannes Rosenögger 965b92a725 Merge branch 'feature_expose_project_labels' into 'master'
Exposing Project Labels in the REST API

The intent here is to expose the tag_list property of the Project entity over the REST API so that any project searches include the information. The specific reason I've implemented this change is for an environment in which multiple gitlab servers exist, where a central portal to the projects that are spread around the network will be useful. Having access to filtering on this fairly large project list based on their labels, will be of great use.

This satisfies the feature request http://feedback.gitlab.com/forums/176466-general/suggestions/6325819-project-labels-via-api

The change was made in the `lib/api/entities.rb` file.

The output of a `GET` to something like `/projects` or `/projects/7` is now:
```javascript
{
  "id": 7,
  "description": "Veritatis est eaque voluptas magni expedita.",
  "default_branch": "master",
  **"tag_list": [
    "typeahead",
    "twitter"
  ],**
  "public": false,
  "archived": false,
  "visibility_level": 0,
  ...
}
```

See merge request !329
2015-04-03 13:18:55 +00:00
Douwe Maan 317206300d Merge branch 'configurable-attachment-size' into 'master'
Support configurable attachment size in Application Settings page

### What does this MR do?

This MR provides the ability to configure the maximum size of an attachment inside a note. A parameter has been added to the Application Settings page.

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

What should be done with the legacy note attachment validation? I added code to make the validation work with the configurable setting. I could see an issue where an admin lowers the limit from 10 megabytes to 5 megabytes, which could cause an existing model to be invalid.

### Why was this MR needed?

We often have attachments that exceed 10 MB, and it would be nice to be able to override the defaults.

### What are the relevant issue numbers / [Feature requests](http://feedback.gitlab.com/)?

See Issue #1258

### Screenshots

Before:

![Screen_Shot_2015-03-29_at_3.06.53_PM](https://gitlab.com/gitlab-org/gitlab-ce/uploads/6013a1dbc8cf61a63e93744149937fa0/Screen_Shot_2015-03-29_at_3.06.53_PM.png)

After:

![Screen_Shot_2015-03-29_at_3.12.34_PM](https://gitlab.com/gitlab-org/gitlab-ce/uploads/f3518af7e8653ba40f0a3579456da6ad/Screen_Shot_2015-03-29_at_3.12.34_PM.png)

See merge request !407
2015-04-03 08:47:55 +00:00
Cristian Medina f045490568 Modified lib/api/entities.rb to expose Project class tag_list property to the API
Updated projects.md to show tag_list field when performing GETs
Updated projects_spec.rb to include check for tag_list key in project list
Added changes to the CHANGELOG
2015-04-03 04:35:12 -04:00
Douwe Maan c5d7660000 Fix errors. 2015-04-02 22:36:54 +02:00
Dmitriy Zaporozhets 0d0042d274 Merge branch 'import-current-user' into 'master'
Import GitHub, Bitbucket or GitLab.com projects owned by authenticated user into current namespace.

Addresses #1347.

Untested since I'm in a bit of a hurry. Will definitely have time to test and add unit tests before the 7.10 release :)

See merge request !481
2015-04-02 20:34:52 +00:00
Dmitriy Zaporozhets 424cbf46d5 Merge branch 'repository-archive-worker' into 'master'
Archive repositories in background worker.

Depends on https://gitlab.com/gitlab-org/gitlab_git/merge_requests/17 being merged, a new `gitlab_git` being released and this MR's `Gemfile.lock` being updated..

See private issue https://dev.gitlab.org/gitlab/gitlabhq/issues/2173.

To do after this is merged: Update https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/sv-sidekiq-run.erb in omnibus.

See merge request !436
2015-04-02 20:30:55 +00:00
Dmitriy Zaporozhets f8f9750323 Merge branch 'username-period' into 'master'
Don't allow username to end in period.

The current behavior doesn't do username referencing and mentioning in sentences like "I discussed with with @douwe." since `douwe.` is matched as a username.

Addresses private issue https://dev.gitlab.org/gitlab/gitlabhq/issues/2174.

See merge request !438
2015-04-02 20:28:23 +00:00