
Project settings are now saved in the project.config file of the refs/meta/config branch within each Git repository. This offers us free version control over the lifespan of the project, and will help reduce schema version issues as the configuration file is more free-form. Project owners can edit the configuration of their project by hand and push the results back up, possibly even going through code review, if the proper access rules are assigned in the project's access panel. Project users can inspect the history of the configuration by reading the history of the refs/meta/config branch with their favorite history browser. Change-Id: Id63414d86dbfb9033021f76e1d5e782373525a77 Signed-off-by: Shawn O. Pearce <sop@google.com>
157 lines
4.6 KiB
Plaintext
157 lines
4.6 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>] \
|
|
[\--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 \--`.
|
|
|
|
\--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]
|