
This meant fixing old tables syntax, adjusting some overly long header underlines and some other small issues. Change-Id: I2701a5040d225454225034ed5ef7861580743707
163 lines
4.8 KiB
Plaintext
163 lines
4.8 KiB
Plaintext
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>] \
|
|
[\--permissions-only] \
|
|
[\--description <DESC>] \
|
|
[\--submit-type <TYPE>] \
|
|
[\--use-content-merge] \
|
|
[\--use-contributor-agreements] \
|
|
[\--use-signed-off-by] \
|
|
[\--empty-commit]
|
|
|
|
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 \--`.
|
|
|
|
\--permissions-only::
|
|
Create the project only to serve as a parent for other
|
|
projects. The new project's Git repository will not be
|
|
initialized, and cannot be cloned.
|
|
|
|
\--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-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::
|
|
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.
|
|
|
|
\--empty-commit:
|
|
Creates an initial empty commit for the Git repository of the
|
|
project that is newly created.
|
|
|
|
|
|
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]
|