d635d04a3e
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
|
|
---------
|