gerrit/Documentation/cmd-set-project.txt
Shawn O. Pearce 2462ccb8df Permit booleans in project.config to be inherited
Allow the parent project to supply the value for properties:

  * use content merge
  * require contributor agreement
  * require change id
  * require signed off by

This makes it easier to configure a large number of projects, as
the properties can be defined once on the parent and inherited.

This commit modifies the default behavior when the variable is not
defined in project.config, it now inherits from the parent rather
than being false.

Change-Id: Ic4a6ea6ff23ad16f1fc82b70cc89a480f59db010
2012-10-25 11:20:47 -07:00

108 lines
3.1 KiB
Plaintext

gerrit set-project
==================
NAME
----
gerrit set-project - Change a project's settings.
SYNOPSIS
--------
[verse]
'ssh' -p <port> <host> 'gerrit set-project'
[--description <DESC> | -d <DESC>]
[--submit-type <TYPE> | -t <TYPE>]
[--contributor-agreements <true|false|inherit>]
[--signed-off-by <true|false|inherit>]
[--content-merge <true|false|inherit>]
[--change-id <true|false|inherit>]
[--project-state <STATE> | --ps <STATE>]
<NAME>
DESCRIPTION
-----------
Modifies a given project's settings. This command can be useful to
batch change projects.
The command is argument-safe, that is, if no argument is given the
previous settings are kept intact.
ACCESS
------
Caller must 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 edit. If name ends
with `.git` the suffix will be automatically removed.
--description::
-d::
New description of the project. If not specified,
the old description is kept.
+
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.
* MERGE_ALWAYS: always create a merge commit.
* CHERRY_PICK: always cherry-pick the commit.
+
For more details see
link:project-setup.html#submit_type[Change Submit Actions].
--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.
--contributor-agreements::
If enabled, authors must complete a contributor agreement
on the site before pushing any commits or changes to this
project.
--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.
--change-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.
--project-state::
--ps::
Set project's visibility.
+
* ACTIVE: project is regular and is the default value.
* READ_ONLY: users can see the project if read permission
is granted, but all modification operations are disabled.
* HIDDEN: the project is not visible for those who are not owners
EXAMPLES
--------
Change project `example` to be hidden, require change id, don't use content merge
and use 'merge if necessary' as merge strategy:
====
$ ssh -p 29418 review.example.com gerrit set-project example --submit-type MERGE_IF_NECESSARY\
--change-id true --content-merge false --project-state HIDDEN
====
GERRIT
------
Part of link:index.html[Gerrit Code Review]