This section covers the steps required to uninstall Swarm.
The bulk of Swarm's metadata (activity, comments, review records, followers) is stored in p4 keys under swarm-*
. If you are using a 2012.1+ server, Swarm also defines user groups for each project that you define. The names of these groups correspond 1-to-1 with projects, for example swarm-project-fantastico
. Swarm manages a pool of client workspaces that it uses to shelve and commit files. These clients are named swarm-{uuid}
, for example swarm-5ad4a9c0-06e7-20eb-897f-cbd4cc934295
.
Delete groups/clients/keys that are prefixed with swarm-*
.
The clients could contain shelved files for reviews. Determine how you want to handle those files prior to deleting the clients.
Additional indexed information is stored in the database file db.ixtext
. Unfortunately, indexed jobs and other generic indexed information would be lost if this table was simply removed, and modifying the database file can be a dangerous operation in a number of Helix Server deployment scenarios.
Contact Perforce support for assistance if you feel the need to remove Swarm's indexed information: support@perforce.com.
Rebuild the job index. The best approach is to run:
$ p4 jobs -R
which rebuilds the db.ixtext
table. There are two caveats that likely require discussion with support@perforce.com:
p4 index
command, you cannot use this approach, as it would remove all of your indexes.If you have indexing turned on for the domain table, you must also run:
$ p4d -xf index.domain.owner
If the P4.Swarm.URL
or P4.Swarm.CommitURL
properties were set (for details, see Client integration and Commit-edge deployment respectively), they should be unset to prevent P4V (and potentially other clients) from attempting Swarm operations:
$ p4 property -d -n P4.Swarm.URL
$ p4 property -d -n P4.Swarm.CommitURL
If the P4.Swarm.URL
or P4.Swarm.CommitURL
properties were set using sequence numbers, you need to add the -sN
flag to the commands, where N
is a sequence number.
To discover all of the definitions of the P4.Swarm.*
properties and their sequence numbers, run the command:
$ p4 property -Al | grep P4.Swarm
P4.Swarm.CommitURL = https://myswarm.url/ (any) #none
P4.Swarm.CommitURL = https://myswarm1.url/ (any) #1
P4.Swarm.URL = https://myswarm.url/ (any) #none
P4.Swarm.URL = https://myswarm3.url/ (any) #3
P4.Swarm.URL = https://myswarm2.url/ (any) #2
P4.Swarm.URL = https://myswarm1.url/ (any) #1
To delete all of these property definitions, you would run the following commands:
$ p4 property -d -n P4.Swarm.URL
$ p4 property -d -n P4.Swarm.URL -s1
$ p4 property -d -n P4.Swarm.URL -s2
$ p4 property -d -n P4.Swarm.URL -s3
$ p4 property -d -n P4.Swarm.CommitURL
$ p4 property -d -n P4.Swarm.CommitURL -s1