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
Update ffaker gem
Adds a version requirement which it didn't have before, at 2.0.0. This version has breaking API changes in that the namespace is now `FFaker` instead of `Faker`.
Prior, if a new developer checked out the repo, ran `bundle install` and then tried `rake dev:setup`, seeding would fail due to having the latest version of ffaker without the API changes in this MR.
Also updates `spring` version and the binstubs, just for kicks.
See merge request !686
Adds a version requirement which it didn't have before, at 2.0.0. This
version has breaking API changes in that the namespace is now `FFaker`
instead of `Faker`.
Add SystemNoteService class
The Note model was basically two models crammed together - one handling user-created notes
(i.e., comments on things) and one handling system-created notes (i.e., references).
This splits out the system-specific stuff to a new SystemNoteService class.
See merge request !595
Remove tag duplicates
Prevention of getting this error:
```
ActiveRecord::RecordNotUnique: PG::Error: ERROR: could not create unique index "index_tags_on_name"
DETAIL: Key (name)=(XSS') is duplicated.
: CREATE UNIQUE INDEX "index_tags_on_name" ON "tags" ("name")
```
This migration fails if there are duplicates:
https://github.com/mbleigh/acts-as-taggable-on/blob/v3.5.0/db/migrate/2_add_missing_unique_indices.rb#L3
See merge request !623
Change the MySQL collation type to utf8_bin to ensure case-sensitive tags are supported
MySQL tables had a collation type of utf8_ci, which makes the name case-insensitive. Previously this migration was run only after indices were built, but it needs to happen before if there is existing data that is case-sensitive. This is an idempotent change, so applying it again in the existing migration (20150425164651) should not change anything.
This is related to !623, but this migration should run before that one.
* Closes#1589
* Closes https://github.com/gitlabhq/gitlabhq/issues/9255
See merge request !625