7ed07a74ef
Config option "recieve.allowProjectOwnersToChangeParent" may allow project owners to reparent a project. We fix this by delegating the actual project re-parenting to the SetParent REST Api endpoint, which already have the neccessary permission checks in place. This also allows us to remove a lot of reduntant input sanity checks from the ssh command. Change-Id: I2da2eabd1f3bbaebcdfa5ba86524297181867282
74 lines
2.0 KiB
Plaintext
74 lines
2.0 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
|
|
or, if
|
|
link:config-gerrit.html#receive.allowProjectOwnersToChangeParent[receive.allowProjectOwnersToChangeParent]
|
|
is enabled, be a project owner of the projects that is getting their
|
|
parent updated.
|
|
|
|
== 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]
|
|
|
|
SEARCHBOX
|
|
---------
|