Automatic labels: superior performance

Automatic labels perform much better than static labels when synced because they are aliases for changelists.

  • Static labels must store information for every file revision associated with the label. Sites using a large number of static labels with a large number of revisions have a very large db.label table.
  • Automatic labels using a changelist revision do not require storing each file revision, which greatly reduces the amount of data that must be stored and scanned when referencing the label.

When using automatic labels containing both View: and Revision: fields, use of the automatic labels to represent a revision ranges might not produce the same results when using the equivalent changelist revision range. You can make an automatic label behave exactly like its revision specifier by leaving the View: field blank. Without this field, the automatic label is considered a pure alias and is processed exactly like the revision specification.

Tip

A changelist number can apply to more files than the number of files submitted by the changelist.

For example, putting @1234 in the Revision: field and //depot/...​ in the View: field of a label spec creates a label that is an alias for changelist 1234 for all files within depot at the time the change was submitted, even if only one file revision was submitted with the change.

Changelist numbers increment in chronological order, and automatic labels can be used as fixed points for any file or set of files in your depot.