blob: 2f0e7f64b2aa427478ba72db7f89d2837a3f7766 [file] [log] [blame] [view]
Provides the ability to delete a project.
Deleting a project means that the project is completely removed from
the Gerrit installation, including all its changes and optionally its
Git repository.
When a project is fully deleted, a project deletion event is fired.
Other plugins can listen to this event by implementing
`com.google.gerrit.extensions.events.ProjectDeletedListener` which is
part of the Gerrit core extension API. The project deletion event is
only fired if the Git repository of the project is deleted.
Limitations
-----------
There are a few caveats:
* This cannot be undone
This is an irreversible action, and should be taken with extreme
care. Backups are always advised of any important data.
* You cannot delete projects that use "submodule subscription"
If deleting a project that makes use of submodule subscription,
you cannot delete the project. Remove the submodule registration
before attempting to delete the project.
Replication of project deletions
--------------------------------
This plugin does not replicate any project deletions, but it triggers
an event when a project is deleted. The [replication plugin]
(https://gerrit-review.googlesource.com/#/admin/projects/plugins/replication)
can be configured to listen to the project deletion event and to
replicate project deletions.
Event after project deletion
-----------------------------------
This plugin generates an event after project deletion. Format of
the event:
=== Project Deleted
Sent after project deletion.
type:: "project-deleted"
projectName:: Name of the deleted project
eventCreatedOn:: Time in seconds since the UNIX epoch when this event was
created.
*NOTE*: This event will be delivered only to the unrestricted listeners.
Unrestricted events listeners implement
`com.google.gerrit.server.events.EventListener` without performing any
permission checking.
Access
------
To be allowed to delete arbitrary projects a user must be a member of a
group that is granted the 'Delete Project' capability (provided by this
plugin) or the 'Administrate Server' capability. Project owners are
allowed to delete their own projects if they are member of a group that
is granted the 'Delete Own Project' capability (provided by this
plugin).