Improve GitLab Import rake task to work with Hashed Storage and Subgroups
Description
Import task was created long time ago, when the indented use was to migrate from a simpler git solution like gitosis or an even simpler solution where you are just hosting the repositories in a linux machine, to GitLab.
We've disabled the execution of GitLab Import rake task when Hashed Storage is enabled, as the new storage format doesn't work as expected by the rake task.
We need to rethink the task to work with Hashed Storages and also with Subgroups, which is not supported today.
Proposal
Instead of sharing the repositories root folder with "GitLab Managed" repositories and "non-managed" ones (the ones we want to import), I believe we need to have a new "import" folder where the script will read from.
This will simplify the import operation, and speed it up as we don't need to walk the whole repositories
folder and check which repository is managed and which one isn't.
This will also remove and possible conflict with namespaces and project names from Hashed storage and non-managed repositories.
Links / references
See discussion here: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13246#note_37257440