[CE] Added Legacy Storage format
What does this MR do?
This is part of the effort for introducing new storage format in CE/EE: gitlab-org/gitlab-ce#28283
We are isolating any action that touches the disk and/or manipulate disk path into a separate concern so it can switch to the new one when ready and code will "just work".
There are some details in this issue too: gitlab-org/gitlab-ee#2838
We want that any place in code that needs the routing URL uses full_path
and any place that needs the path in disk uses disk_path
. In this first iteration they may work similar but as soon as the new Storage Format comes to play the output will be very different.
Are there points in the code the reviewer needs to double check?
There is another MR in EE
gitlab-org/gitlab-ee!2477
Please merge this one first: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13148
This MR touches many different areas of GitLab and tries to unify access to the routing reference to a project/repository and separate from the reference of the same project's repository/wiki on disk, as they will be different with the new storage format. (They already are if you consider full path which depends on which storage shard you use).
We need to make sure we are covering every possible code that uses these methods, so on the next MR we can concentrate only in the New Storage format implementation.
Also feel free to suggest any refactor (may be done on this MR or on the next one). I tried not to make any huge refactor to make it easier to review this MR and also to be able to rebase until it's not fully merged.
Why was this MR needed?
See plan of action for gitlab-org/gitlab-ce#28283
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
API support added - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master
(if it does - rebase it please) -
Squashed related commits together
What are the relevant issue numbers?
gitlab-org/gitlab-ce#28283
cc @stanhu @dbalexandre @rspeicher @pcarranza @smcgivern @DouweM @to1ne