Auto-creation of repos (and subgroups) on push
Description
Problem statement: We use an automatic process to mirror many thousands of repos into our internal gitolite-ee instance. When a new repo enters the pipeline, we currently have to manually create the target repo before pushing to it.
Gitolite has a neat feature where a repo can spring into existence simply by pushing to it. For example, running "git push http://gitolite/foo/bar/baz.git" automatically creates an empty repo at that path (even if foo and bar have not been seen before).
It'd be nice if we could enable similar functionality in Gitlab.
Proposal
Subject to configuration at the top group level (e.g. http://gitlab/foo), fetching from or pushing to a repo (e.g. http://gitlab/foo/bar/baz) would (1) automatically create all subgroups (e.g. bar) and (2) automatically create the repo (e.g. baz).
Links / references
http://gitolite.com/gitolite/user/#normal-and-wild-repos
Documentation blurb
(New checkboxes on the Group settings page:)
[ ] Enable auto-creation of repos [ ] Enable auto-creation of subgroups
(Second item is disabled until first item is enabled)
If you want owners of the group to be able to automatically create repos (and subgroups) by pushing to or pulling from them, enable this option. Settings for newly-created subgroups and repos will be inherited from their nearest existing parents. (For example, if your group foo has a subgroup bar, and a user auto-creates the repo foo/bar/baz/qux , the subgroup baz will be auto-created inheriting identical settings as the subgroup bar, and the repository qux will be auto-created inherit the default settings for repos in that subgroup.)