The name for the new project should be specified as argument and not as option. The --name option is deprecated at least since Gerrit 2.4. It's time to remove it. Change-Id: I77f7c8fe31c20d25e2cfd590c8c74772e4b76488 Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
		
			
				
	
	
		
			215 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			215 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
= gerrit create-project
 | 
						|
 | 
						|
== NAME
 | 
						|
gerrit create-project - Create a new hosted project
 | 
						|
 | 
						|
== SYNOPSIS
 | 
						|
--
 | 
						|
'ssh' -p <port> <host> 'gerrit create-project'
 | 
						|
  [--owner <GROUP> ... | -o <GROUP> ...]
 | 
						|
  [--parent <NAME> | -p <NAME> ]
 | 
						|
  [--suggest-parents | -S ]
 | 
						|
  [--permissions-only]
 | 
						|
  [--description <DESC> | -d <DESC>]
 | 
						|
  [--submit-type <TYPE> | -t <TYPE>]
 | 
						|
  [--use-contributor-agreements | --ca]
 | 
						|
  [--use-signed-off-by | --so]
 | 
						|
  [--use-content-merge]
 | 
						|
  [--create-new-change-for-all-not-in-target]
 | 
						|
  [--require-change-id | --id]
 | 
						|
  [[--branch <REF> | -b <REF>] ...]
 | 
						|
  [--empty-commit]
 | 
						|
  [--max-object-size-limit <N>]
 | 
						|
  [--plugin-config <PARAM> ...]
 | 
						|
  { <NAME> }
 | 
						|
--
 | 
						|
 | 
						|
== 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 the privileged 'Administrators' group,
 | 
						|
or have been granted
 | 
						|
link:access-control.html#capability_createProject[the 'Create Project' global capability].
 | 
						|
 | 
						|
== SCRIPTING
 | 
						|
This command is intended to be used in scripts.
 | 
						|
 | 
						|
== OPTIONS
 | 
						|
<NAME>::
 | 
						|
	Required; name of the new project to create.  If name ends
 | 
						|
	with `.git` the suffix will be automatically removed.
 | 
						|
 | 
						|
--branch::
 | 
						|
-b::
 | 
						|
	Name of the initial branch(es) in the newly created project.
 | 
						|
	Several branches can be specified on the command line.
 | 
						|
	If several branches are specified then the first one becomes HEAD
 | 
						|
	of the project. If none branches are specified then default value
 | 
						|
	('master') is used.
 | 
						|
 | 
						|
--owner::
 | 
						|
-o::
 | 
						|
	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.
 | 
						|
 | 
						|
--parent::
 | 
						|
-p::
 | 
						|
	Name of the parent project to inherit access rights
 | 
						|
	through. If not specified, the parent is set to the default
 | 
						|
	project `All-Projects`.
 | 
						|
 | 
						|
--suggest-parents::
 | 
						|
-S::
 | 
						|
	Suggest parent candidates. This option cannot be used with
 | 
						|
	other arguments. Print out a list of projects that are
 | 
						|
	already parents to other projects, thus it can help the user
 | 
						|
	find a suitable parent for the new project.
 | 
						|
 | 
						|
--permissions-only::
 | 
						|
	Create the project only to serve as a parent for other
 | 
						|
	projects.  The new project's Git repository will be
 | 
						|
	initialized to have 'HEAD' point to 'refs/meta/config'.
 | 
						|
 | 
						|
--description::
 | 
						|
-d::
 | 
						|
	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::
 | 
						|
-t::
 | 
						|
	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.
 | 
						|
* REBASE_IF_NECESSARY: rebase the commit when required.
 | 
						|
* MERGE_ALWAYS: always create a merge commit.
 | 
						|
* CHERRY_PICK: always cherry-pick the commit.
 | 
						|
 | 
						|
+
 | 
						|
Defaults to MERGE_IF_NECESSARY unless
 | 
						|
link:config-gerrit.html#repository.name.defaultSubmitType[
 | 
						|
repository.<name>.defaultSubmitType] is set to a different value.
 | 
						|
For more details see link:project-configuration.html#submit_type[
 | 
						|
Submit Types].
 | 
						|
 | 
						|
--use-content-merge::
 | 
						|
	If enabled, Gerrit will try to perform a 3-way merge of text
 | 
						|
	file content when a file has been modified by both the
 | 
						|
	destination branch and the change being submitted.  This
 | 
						|
	option only takes effect if submit type is not
 | 
						|
	FAST_FORWARD_ONLY.  Disabled by default.
 | 
						|
 | 
						|
--use-contributor-agreements::
 | 
						|
--ca::
 | 
						|
	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::
 | 
						|
--so:
 | 
						|
	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.
 | 
						|
 | 
						|
--create-new-change-for-all-not-in-target::
 | 
						|
--ncfa:
 | 
						|
	If enabled, a new change is created for every commit that is not in
 | 
						|
	the target branch. If the pushed commit is a merge commit, this flag is
 | 
						|
	ignored for that push. To avoid accidental creation of a large number
 | 
						|
	of open changes, this option also does not accept merge commits in the
 | 
						|
	commit chain.
 | 
						|
	Disabled by default.
 | 
						|
 | 
						|
--require-change-id::
 | 
						|
--id::
 | 
						|
	Require a valid link:user-changeid.html[Change-Id] footer
 | 
						|
	in any commit uploaded for review. This does not apply to
 | 
						|
	commits pushed directly to a branch or tag.
 | 
						|
 | 
						|
--empty-commit::
 | 
						|
	Creates an initial empty commit for the Git repository of the
 | 
						|
	project that is newly created.
 | 
						|
 | 
						|
--max-object-size-limit::
 | 
						|
	Define maximum Git object size for this project. Pushes containing an
 | 
						|
	object larger than this limit will be rejected. This can be used to
 | 
						|
	further limit the global
 | 
						|
  link:config-gerrit.html#receive.maxObjectSizeLimit[receive.maxObjectSizeLimit]
 | 
						|
	and cannot be used to increase that globally set limit.
 | 
						|
+
 | 
						|
Common unit suffixes of 'k', 'm', or 'g' are supported.
 | 
						|
 | 
						|
--plugin-config::
 | 
						|
	A plugin configuration parameter that should be set for this
 | 
						|
	project. The plugin configuration parameter must be specified in
 | 
						|
	the format '<plugin-name>.<parameter-name>=<value>'. Only
 | 
						|
	parameters that are explicitly declared by a plugin can be set.
 | 
						|
	Multiple `--plugin-config` options can be specified to set multiple
 | 
						|
	plugin parameters.
 | 
						|
 | 
						|
 | 
						|
== EXAMPLES
 | 
						|
Create a new project called `tools/gerrit`:
 | 
						|
 | 
						|
====
 | 
						|
	$ ssh -p 29418 review.example.com gerrit create-project tools/gerrit.git
 | 
						|
====
 | 
						|
 | 
						|
Create a new project with a description:
 | 
						|
 | 
						|
====
 | 
						|
	$ ssh -p 29418 review.example.com gerrit create-project 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
 | 
						|
If the replication plugin is installed, the plugin will attempt to
 | 
						|
perform remote repository creation 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.
 | 
						|
 | 
						|
A custom extension or plugin may also be developed to implement the
 | 
						|
NewProjectCreatedListener extension point and handle custom logic
 | 
						|
for remote repository creation.
 | 
						|
 | 
						|
== SEE ALSO
 | 
						|
 | 
						|
* link:project-configuration.html[Project Configuration]
 | 
						|
 | 
						|
GERRIT
 | 
						|
------
 | 
						|
Part of link:index.html[Gerrit Code Review]
 | 
						|
 | 
						|
SEARCHBOX
 | 
						|
---------
 |