Commit Graph

8 Commits

Author SHA1 Message Date
Yorick Peterse 4b9c17f196
Move Project#rename_repo to a service class
This moves the logic of Project#rename_repo and all methods _only_ used
by this method into a new service class: Projects::AfterRenameService.
By moving this code into a separate service class we can more easily
refactor it, and we also get rid of some RuboCop "disable" statements
automatically.

During the refactoring of this code, I removed most of the explicit
logging using Gitlab::AppLogger. The data that was logged would not be
useful when debugging renaming issues, as it does not add any value on
top of data provided by users.

I also removed a variety of comments that either mentioned something the
code does in literal form, or contained various grammatical errors.
Instead we now resort to more clearly named methods, removing the need
for code comments.

This method was chosen based on analysis in
https://gitlab.com/gitlab-org/release/framework/issues/28. In this issue
we determined this method has seen a total of 293 lines being changed in
it. We also noticed that RuboCop determined the ABC size
(https://www.softwarerenovation.com/ABCMetric.pdf) was too great.
2018-10-22 15:12:46 +02:00
Rémy Coutable 3f598ad7ca
Ignore current RSpec/FactoriesInMigrationSpecs offenses
Signed-off-by: Rémy Coutable <remy@rymai.me>
2018-04-06 17:41:52 +02:00
Rémy Coutable 1582fe7827 Use the latest migration in spec/migrations/rename_reserved_project_names_spec.rb
We do that because  it's using factories and it's not worth it to get rid of them.

Signed-off-by: Rémy Coutable <remy@rymai.me>
2018-02-12 16:54:22 +01:00
Nick Thomas 93ea3234df
Use the DatabaseCleaner 'deletion' strategy instead of 'truncation' 2018-01-24 17:25:55 +00:00
Robert Speicher 72a7b30c9f Change all `:empty_project` to `:project` 2017-08-02 17:47:31 -04:00
Robert Speicher a6ec5121f0 Correct RSpec/SingleLineHook cop offenses 2017-06-14 13:18:56 -05:00
Yorick Peterse 123bc1d5eb
Fix rename projects spec so it doesn't hang
This spec would hang due to the use of transactions, and would
incorrectly stub Thread.new.
2016-12-27 13:45:44 +01:00
Dmitriy Zaporozhets d72b40423c Rename projects with reserved path names
We cant have project with name 'project' or 'tree' anymore.
This merge request containts a migration that will find and rename all
projects using reserved names by adding N digit to the end of the name.

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-12-24 19:39:51 +02:00