|  | gerrit create-project | 
|  | ===================== | 
|  |  | 
|  | NAME | 
|  | ---- | 
|  | gerrit create-project - Create a new hosted project | 
|  |  | 
|  | SYNOPSIS | 
|  | -------- | 
|  | [verse] | 
|  | 'ssh' -p <port> <host> 'gerrit create-project' \ | 
|  | \--name <NAME> \ | 
|  | [--branch <REF>] \ | 
|  | [\--owner <GROUP> ...] \ | 
|  | [\--parent <NAME>] \ | 
|  | [\--description <DESC>] \ | 
|  | [\--submit-type <TYPE>] \ | 
|  | [\--use-contributor-agreements] \ | 
|  | [\--use-signed-off-by] | 
|  |  | 
|  | DESCRIPTION | 
|  | ----------- | 
|  | Creates a new bare Git repository under `gerrit.basePath`, using | 
|  | the project name supplied.  The newly created repository is empty | 
|  | (has no commits), but is registered in the Gerrit database so that | 
|  | the initial commit may be uploaded for review, or initial content | 
|  | can be pushed directly into a branch. | 
|  |  | 
|  | If replication is enabled, this command also connects to each of | 
|  | the configured remote systems over SSH and uses command line git | 
|  | on the remote system to create the empty repository. | 
|  |  | 
|  |  | 
|  | ACCESS | 
|  | ------ | 
|  | Caller must be a member of any of the groups defined by | 
|  | repository.*.createGroup in gerrit.config. | 
|  |  | 
|  | If there is no such declaration, caller is required to be a member | 
|  | of the privileged 'Administrators' group. | 
|  |  | 
|  | SCRIPTING | 
|  | --------- | 
|  | This command is intended to be used in scripts. | 
|  |  | 
|  | OPTIONS | 
|  | ------- | 
|  | \--name:: | 
|  | Required; name of the project to create.  If name ends with | 
|  | `.git` the suffix will be automatically removed. | 
|  |  | 
|  | \--branch:: | 
|  | Name of the initial branch in the newly created project. | 
|  | Defaults to 'master'. | 
|  |  | 
|  | \--owner:: | 
|  | Name of the group(s) which will initially own this repository. | 
|  | The specified group(s) must already be defined within Gerrit. | 
|  | Several groups can be specified on the command line. | 
|  | + | 
|  | Defaults to what is specified by repository.*.ownerGroup | 
|  | in gerrit.config. If no such declaration(s) exist, | 
|  | repository.*.createGroup will be used. If they don't exist, | 
|  | `Administrators` will be used. | 
|  |  | 
|  | \--parent:: | 
|  | Name of the parent project to inherit access rights | 
|  | through. If not specified, the parent is set to the default | 
|  | project `\-- All Projects \--`. | 
|  |  | 
|  | \--description:: | 
|  | Initial description of the project.  If not specified, | 
|  | no description is stored. | 
|  | + | 
|  | Description values containing spaces should be quoted in single quotes | 
|  | (\').  This most likely requires double quoting the value, for example | 
|  | `\--description "\'A description string\'"`. | 
|  |  | 
|  | \--submit-type:: | 
|  | Action used by Gerrit to submit an approved change to its | 
|  | destination branch.  Supported options are: | 
|  | + | 
|  | * FAST_FORWARD_ONLY: produces a strictly linear history. | 
|  | * MERGE_IF_NECESSARY: create a merge commit when required. | 
|  | * MERGE_ALWAYS: always create a merge commit. | 
|  | * CHERRY_PICK: always cherry-pick the commit. | 
|  |  | 
|  | + | 
|  | Defaults to MERGE_IF_NECESSARY.  For more details see | 
|  | link:project-setup.html#submit_type[Change Submit Actions]. | 
|  |  | 
|  | \--use-contributor-agreements:: | 
|  | If enabled, authors must complete a contributor agreement | 
|  | on the site before pushing any commits or changes to this | 
|  | project.  Disabled by default. | 
|  |  | 
|  | \--use-signed-off-by:: | 
|  | If enabled, each change must contain a Signed-off-by line | 
|  | from either the author or the uploader in the commit message. | 
|  | Disabled by default. | 
|  |  | 
|  |  | 
|  | EXAMPLES | 
|  | -------- | 
|  | Create a new project called `tools/gerrit`: | 
|  |  | 
|  | ==== | 
|  | $ ssh -p 29418 review.example.com gerrit create-project --name tools/gerrit.git | 
|  | ==== | 
|  |  | 
|  | Create a new project with a description: | 
|  |  | 
|  | ==== | 
|  | $ ssh -p 29418 review.example.com gerrit create-project --name tool.git --description "'Tools used by build system'" | 
|  | ==== | 
|  |  | 
|  | Note that it is necessary to quote the description twice.  The local | 
|  | shell needs double quotes around the value to ensure the single quotes | 
|  | are passed through SSH as-is to the remote Gerrit server, which uses | 
|  | the single quotes to delimit the value. | 
|  |  | 
|  | REPLICATION | 
|  | ----------- | 
|  | The remote repository creation is performed by a Bourne shell script: | 
|  |  | 
|  | ==== | 
|  | mkdir -p '/base/project.git' && cd '/base/project.git' && git init --bare && git update-ref HEAD refs/heads/master | 
|  | ==== | 
|  |  | 
|  | For this to work successfully the remote system must be able to run | 
|  | arbitrary shell scripts, and must have `git` in the user's PATH | 
|  | environment variable.  Administrators could also run this command line | 
|  | by hand to establish a new empty repository. | 
|  |  | 
|  | SEE ALSO | 
|  | -------- | 
|  |  | 
|  | * link:config-replication.html[Git Replication/Mirroring] | 
|  | * link:project-setup.html[Project Setup] | 
|  |  | 
|  | GERRIT | 
|  | ------ | 
|  | Part of link:index.html[Gerrit Code Review] |