Push to create a new project
If I have a repo somewhere (locally), right now I have to first go to GitLab and manually create a project.
When I create a new project locally, I want it to feel just as easy as instant Git branching to push my brand new project to GitLab, so that I don't need to leave my current context to go to GitLab to manually create project. I want to stay in the terminal and for using GitLab to feel as magic as using Git!
That can be much faster. My repo already has a name, GitLab has me as a user: we can simply allow the person to push to a specific git path to create a new project.
I should be able to push a new project to my own personal namespace
git push firstname.lastname@example.org:JobV/awesome-new-website.git master
My newly created project will be private
I will receive feedback to setup my remote and view the project
remote: remote: The private project JobV/awesome-new-website was created. remote: remote: To configure the remote, run: remote: git remote add origin email@example.com:JobV/awesome-new-website.git remote: remote: To view the project, visit: remote: https://gitlab.com/JobV/awesome-new-website remote:
If the project already exists, we process the push normally. If the user is trying to create a new project with a project name already in use it will be rejected because the projects will be diverged.
Ideas to reduce the scope of the first iteration:
- only support the users own namespace: supporting groups and subgroups may not require much more development, but will require more testing.
Future ideas (out of scope)
Optionally we can allow you to set the visibility by using
-o, --push-option Transmit the given string to the server, which passes them to the pre-receive as well as the post-receive hook. The given string must not contain a NUL or LF character.