Commit Graph
156 Commits
Author SHA1 Message Date
Douwe MaanandRobert Speicher 834e440f70 Merge branch 'mirror-repository' into 'master'
Add option to mirror an upstream repository.

Closes internal https://dev.gitlab.org/gitlab/gitlab-ee/issues/279

Depends on gitlab-org/gitlab-shell!29

To do:

- [x] Decide on what user should be the author of the activity feed events. The initial project creator perhaps? That makes sense for personal projects, but less so for group projects, where it's even possible that the creator has since left the team.
- [x] Write specs!
- [x] Write documentation
- [x] Port back relevant commits to CE: gitlab-org/gitlab-ce!1822

----

## Mirror status on project homepage

![Screen_Shot_2015-11-12_at_12.48.15](/uploads/39666b0e4a14723407b0f66e2aaddb46/Screen_Shot_2015-11-12_at_12.48.15.png)


## Settings navigation item

![Screen_Shot_2015-11-10_at_17.32.27](/uploads/116ece85f65681bbd3c7c5e282ab3b3c/Screen_Shot_2015-11-10_at_17.32.27.png)

## Mirroring settings

![Screen_Shot_2015-11-17_at_11.17.17](/uploads/ff57c89831524435ec6a063c3c470203/Screen_Shot_2015-11-17_at_11.17.17.png)


## Activity feed with new "pushes" (mirror updates)
![activity_feed](/uploads/04754251f2142fd06b1fddc2aae45232/activity_feed.png)

I have yet to decide on what user should be the author of these events. The initial project creator perhaps? That makes sense for personal projects, but less so for group projects, where it's even possible that the creator has since left the team.

## Warning that branch has diverged from upstream
![diverged](/uploads/ecf7ae6c5709f626c750695f45ca521a/diverged.png)

## Commits heading after failed update
![commits_failure](/uploads/d1b3e1f6796431c839ee9e2f67499283/commits_failure.png)

Link send user to the mirroring settings if they are a project admin.

## Mirroring settings after failed update

![Screen_Shot_2015-11-12_at_12.43.09](/uploads/ece68d5021c9a4c374bf6d973cf9fafa/Screen_Shot_2015-11-12_at_12.43.09.png)

## New project page
![new_project](/uploads/296beb6c7faf390a9b7e1facc9c1d4d6/new_project.png)

## Import form after failed import
(Screenshot outdated)

![new_import_failure](/uploads/ac0ebfc8ec23232603126fe0a6e10171/new_import_failure.png)

Shown when the initial import of a project fails, not when an update of an existing project fails.

cc @dzaporozhets @sytses @JobV

See merge request !51
2015-11-18 16:50:49 -05:00
Valery Sizov 93bcc9ca7f Merge remote-tracking branch 'origin/master' into ce_upsteram 2015-11-05 14:26:35 +02:00
Kamil Trzcinski 8d2758e02d Cleanup stuck CI builds daily 2015-11-03 13:12:16 +01:00
Valery Sizov 0f30be02eb Merge remote-tracking branch 'origin/master' into ce_upstream 2015-10-23 13:01:19 +02:00
Jacob Vosmaer a321404fde Remove unused sidekiq worker 2015-10-20 17:11:31 +02:00
Jacob Vosmaer e1fff018d7 Clear archive cache asynchronously 2015-10-20 16:53:37 +02:00
Dmitriy Zaporozhets 80a983b492 Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq into ce-to-ee
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-09-22 12:25:41 +02:00
Douwe Maan ee028d9d60 Rename reply_by_email to incoming_email to prepare for the future. 2015-09-21 10:35:37 +02:00
Valery SizovandKamil Trzcinski a0c1a12dee remove API calls from CE to CI 2015-09-18 18:02:11 +02:00
Dmitriy Zaporozhets 1ba393de81 Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq into ce-to-ee 2015-09-16 10:26:10 +02:00
Kamil Trzcinski e21deaee8e Merge remote-tracking branch 'origin/master' into ci-and-ce-sitting-in-a-tree-k-i-s-s-i-n-g
# Conflicts:
#	Gemfile.lock
2015-09-15 22:40:35 +02:00
Stan Hu 9995f0806b Import forked repositories asynchronously to prevent large repositories from timing out
Use import_status to track async import status and give feedback to the user

Closes #2388
Closes #2400
2015-09-11 00:34:04 -07:00
Dmitriy Zaporozhets 0b5d627cd4 Merge branch 'master' into ci-and-ce-sitting-in-a-tree-k-i-s-s-i-n-g 2015-09-09 14:56:02 +02:00
Jared Szechy e156f42079 FogBugz project import 2015-09-08 20:23:01 -04:00
Dmitriy Zaporozhets 7c12a8d418 Move rebase to async worker
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-09-03 12:26:56 +02:00
Dmitriy Zaporozhets 39ee52f1b1 Expire cache when merge request source branch was removed
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-08-28 10:23:56 +02:00
Douwe Maan 843694f902 Merge branch 'master' into ci-and-ce-sitting-in-a-tree-k-i-s-s-i-n-g 2015-08-26 17:53:31 -07:00
Dmitriy Zaporozhets 243bf65124 Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq into ce-to-ee
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-08-26 17:15:12 +02:00
Douwe Maan 046b283127 Groundwork for merging CI into CE 2015-08-25 18:42:46 -07:00
Dmitriy Zaporozhets c1b490d6ef Merge branch 'handle-smtp-input-errors' into 'master'
Gracefully handle SMTP user input errors (e.g. incorrect email addresses) to prevent Sidekiq retries

### What does this MR do?

This MR gracefully handles SMTP input errors (e.g. incorrect or invalid e-mail addresses) to prevent these types of exceptions from causing Sidekiq to retry the task. If these specific exceptions occur, they will be logged, and the e-mail will be dropped from the queue.

### Why was this MR needed?

If you include an author that has a misspelled e-mail address, Sidekiq will keep sending e-mail to all the recipients even if they have already received the e-mail. The only way to recover is to clear the Sidekiq queue.

Note that other exceptions can still be thrown (e.g. `IOError`, `Net::SMTPAuthenticationError`, `Net::SMTPServerBusy`, `Net::SMTPUnknownError`, and `TimeoutError`). If the worker encounters these, Sidekiq should retry the task.

### What are the relevant issue numbers?

Closes https://github.com/gitlabhq/gitlabhq/issues/9560

See merge request !1163
2015-08-25 09:23:43 +00:00
Douwe Maan 2088880383 Ignore empty incoming messages. 2015-08-24 10:57:35 -07:00
Stan Hu ed1d4fa477 Remove user OAuth tokens stored in database for Bitbucket, GitHub, and GitLab
and request them each session. Pass these tokens to the project import data.

This prevents the need to encrypt these tokens and clear them in case they
expire or get revoked.

For example, if you deleted and re-created OAuth2 keys for Bitbucket, you would get
an Error 500 with no way to recover:

```
Started GET "/import/bitbucket/status" for x.x.x.x at 2015-08-07 05:24:10 +0000
Processing by Import::BitbucketController#status as HTML
Completed 500 Internal Server Error in 607ms (ActiveRecord: 2.3ms)

NameError (uninitialized constant Import::BitbucketController::Unauthorized):
  app/controllers/import/bitbucket_controller.rb:77:in `rescue in go_to_bitbucket_for_permissions'
  app/controllers/import/bitbucket_controller.rb:74:in `go_to_bitbucket_for_permissions'
  app/controllers/import/bitbucket_controller.rb:86:in `bitbucket_unauthorized'
```

Closes #1871
2015-08-23 09:23:44 -07:00
Douwe Maan 69708dab9f Block blocked users from replying to threads by email. 2015-08-21 10:14:45 -07:00
Douwe Maan 3d51a6d435 Merge branch 'master' into reply-by-email 2015-08-20 12:19:19 -07:00
Douwe Maan 2f78b5e8af Make error class names more consistent. 2015-08-20 11:33:18 -07:00
Douwe Maan e9972efc2f Extract ReplyParser and AttachmentUploader from Receiver. 2015-08-20 11:05:06 -07:00
Stan Hu 001c8cd0ee Gracefully handle SMTP user input errors (e.g. incorrect email addresses) to prevent Sidekiq retries
Closes https://github.com/gitlabhq/gitlabhq/issues/9560
2015-08-19 23:18:34 -07:00
Douwe Maan 76dbafba86 Send a rejection email when the incoming email couldn't be processed. 2015-08-19 11:10:21 -07:00
Dmitriy Zaporozhets 067673fbe7 Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into master-ce-to-ee
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-08-19 11:13:30 +02:00
Douwe Maan 8906cabae7 Changes and stuff. 2015-08-18 17:02:26 -07:00
Douwe Maan f76eac56b9 Reply by email POC 2015-08-18 15:46:36 -07:00
Dmitriy Zaporozhets 680b087764 Merge master from CE
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-08-17 14:01:32 +02:00
Dmitriy Zaporozhets 3e259ea8bc Revert "Merge branch 'revert-satellites' into 'master' "
This reverts commit 5daf44b7c8, reversing
changes made to 2f706fbd23.
2015-08-11 14:33:31 +02:00
Dmitriy Zaporozhets 9f10943c1a Revert "Merge branch 'drop-satellites'"
This reverts commit 957e849f41, reversing
changes made to 6b9dbe9f5a.

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-08-11 10:28:42 +02:00
Dmitriy Zaporozhets 0fd7d3ebe0 Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq into ce-to-ee
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-08-10 16:01:53 +02:00
Dmitriy Zaporozhets 99585a738c Trigger post-receive hoooks when commits are made by GitLab
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-08-10 10:54:42 +02:00
Dmitriy Zaporozhets b48b07044b Merge branch 'master' into drop-satellites
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-08-04 16:42:36 +02:00
Douwe Maan fe4d32addd Don't resend admin email to everyone if one delivery fails 2015-07-28 14:11:12 +02:00
Douwe Maan f032b15dcf Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into ce-to-ee
# Conflicts:
#	README.md
#	app/controllers/projects_controller.rb
#	db/schema.rb
#	doc/workflow/README.md
#	lib/gitlab/satellite/merge_action.rb
2015-07-23 13:40:31 +02:00
Dmitriy Zaporozhets 67654a44d1 Avoid cache building for super-weird case when repository root_ref is nil
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-07-17 16:03:38 +02:00
Dmitriy Zaporozhets f0116f1335 Store commit count in project table
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-07-17 15:22:56 +02:00
Dmitriy Zaporozhets 67ca5a53f6 Build missing cache items in background job after each push
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-07-17 14:50:03 +02:00
Dmitriy Zaporozhets a7fded9b95 Huge refactoring for accepting merge requests
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-07-16 16:03:07 +02:00
Dmitriy Zaporozhets a87989fb7d Remove satellites 2015-07-15 15:45:57 +02:00
Dmitriy Zaporozhets c84b14d2a1 Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq into ce-to-ee
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

Conflicts:
	app/controllers/autocomplete_controller.rb
	app/controllers/omniauth_callbacks_controller.rb
	app/controllers/projects/services_controller.rb
	app/helpers/projects_helper.rb
	app/services/audit_event_service.rb
	db/schema.rb
	doc/api/users.md
	doc/update/6.x-or-7.x-to-7.13.md
	features/project/project.feature
2015-07-14 15:40:46 +02:00
Stan Hu d4be82d1c9 Add Irker service configuration options
Closes #1713
Closes #1714
Closes gitlab-com/support-forum#139
2015-07-05 06:40:56 -07:00
Dmitriy Zaporozhets b2d45bb544 Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq into ce-to-ee
Conflicts:
	app/controllers/uploads_controller.rb
	app/helpers/application_helper.rb
	app/models/note.rb
	app/services/test_hook_service.rb
	db/schema.rb
	spec/models/note_spec.rb
2015-05-13 14:10:14 +03:00
bugagazavr acac788902 Added X-GitLab-Event header for web hooks 2015-05-08 16:49:03 +03:00
Douwe Maan 85c04a8aa6 Track historical active user count. 2015-05-07 22:38:17 +02:00
Douwe Maan 68ac20604b Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into ce-to-ee
# Conflicts:
#	app/controllers/groups/application_controller.rb
#	app/services/test_hook_service.rb
#	app/views/admin/groups/show.html.haml
#	app/views/groups/_settings_nav.html.haml
#	app/views/groups/show.html.haml
#	app/views/layouts/_head.html.haml
#	app/views/projects/_settings_nav.html.haml
#	db/schema.rb
#	features/project/project.feature
#	features/steps/project/project.rb
2015-05-05 10:18:27 +02:00