Track a changelist’s identity from server to server
As described earlier, a changelist gets renumbered each time it gets fetched, pushed, or unzipped; as a result, it quickly becomes difficult to determine which changelist is which across a series of servers. Changelist 12 on one server may not be the same as changelist 12 on another server.
Helix Server includes a global changelist ID feature which allows you to assign to a changelist a permanent ID that remains the same from server to server. This is an opt-in feature. There are two workflows for enabling global changelist IDs. They are summarized in the following subsections:
Workflow 1: Let Helix Server generate global changelist IDs
The majority of Helix Server users will likely choose to have global changelist IDs system-generated.
To have Helix Server generate the IDs for you, follow these steps:
On a personal server:
-
Run the
p4 configure
command to setsubmit.identity
to whichever of the three possible formats you prefer:- uuid: a universally-unique identifier
- checksum: a checksum
- serverid: a combination of the serverid + changelist number
This causes Helix Server to generate a global changelist ID and write it to the
Identity
field of the change spec for the changelist in question, each time a change is submitted. For more information, see the description of thesubmit.identity
configurable in the "Configurables" chapter of the Helix Core Command-Line (P4) Reference. - Run
p4 submit
to submit the changelist. Once you’ve done this, the changelist ID appears in theIdentity
field of the change spec. - Run
p4 describe changelistnumber
to find out what changelist ID was generated.
Workflow 2: Enter global changelist ID manually
Choose this workflow if you want to customize your global changelist ID names. For example, you may want to name a changelist according to the bug it corresponds to in your bug database.
On a personal server:
- Run
p4 submit
to submit your changelist. - Edit the change spec to set the value of the
Identity
field to the desired value. - Run the
p4 push
,p4 fetch
, orp4 unzip
command.
On the shared server:
- Run
p4 describe -I changelistID
to retrieve the changelist number of the changelist that was pushed, fetched, or unzipped.