gerrit/Documentation/cmd-set-project-parent.txt
Edwin Kempin 0438841998 Support to reparent all children of a parent project
This change adds a new option to the 'set-project-parent' command that
allows to reparent all child projects of one parent project to another
parent project. It is possible to specify certain children of the old parent
that should not be reparented.

This is e.g. useful if you have defined a set of default access rights on a
parent project P and now one of its child projects C should not inherit these
default access rights. The new functionality allows you to easily introduce a
new hierarchy level under P:
1. create new child project D under P which defines the default access rights
2. reparent all child projects of P to D, except C (and D)
3. remove the default access rights from P

Change-Id: I3c6d8407f357f601c8000e6bc5cbc696012ecd09
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
2011-11-16 09:34:26 +01:00

74 lines
1.8 KiB
Plaintext

gerrit set-project-parent
=========================
NAME
----
gerrit set-project-parent - Change the project permissions are inherited from.
SYNOPSIS
--------
[verse]
'ssh' -p <port> <host> 'gerrit set-project-parent'
[--parent <NAME>]
[--children-of <NAME>]
[--exclude <NAME>]
<NAME> ...
DESCRIPTION
-----------
Changes the project that permissions are inherited through.
Every project inherits permissions from another project, by
default this is `All-Projects`. This command sets
the project to inherit through another one.
ACCESS
------
Caller must be a member of the privileged 'Administrators' group.
SCRIPTING
---------
This command is intended to be used in scripts.
OPTIONS
-------
--parent::
Name of the parent to inherit through. If not specified,
the parent is set back to the default `All-Projects`.
--children-of::
Name of the parent project for which all child projects should be
reparented. If the new parent project or any project in its
parent line is a child of this parent project it is automatically
excluded from reparenting.
--exclude::
Name of a child project that should not be reparented. This
option can only be used if the option --children-of is set.
Multiple child projects can be excluded from reparenting by
specifying the --exclude option multiple times. Excluding a
project that is not a child project has no effect.
EXAMPLES
--------
Configure `kernel/omap` to inherit permissions from `kernel/common`:
====
$ ssh -p 29418 review.example.com gerrit set-project-parent --parent kernel/common kernel/omap
====
Reparent all children of `myParent` to `myOtherParent`:
====
$ ssh -p 29418 review.example.com gerrit set-project-parent \
--children-of myParent --parent myOtherParent
====
SEE ALSO
--------
* link:access-control.html[Access Controls]
GERRIT
------
Part of link:index.html[Gerrit Code Review]