Icon

You are viewing the documentation of TeamCity 2018.x, which is not the most recently released version of TeamCity.
View this page in the latest documentation or refer to the listing to choose the documentation corresponding to your TeamCity version.

 

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Option

Description

Anchor
perforcePortOptionDescription
perforcePortOptionDescription
Port

Specify the Perforce server address. The format is host:port.
(info) For specific environments, P4Host can be specified in the Workspace options below for any  type of checkout. 

Anchor
perforceStreamOptionDescription
perforceStreamOptionDescription
Stream

Click this radio button to specify an existing Perforce stream. TeamCity will use this stream to prepare the stream-based workspace, and will use the client mapping from such a workspace.

Prior to TeamCity 2017.2, TeamCity supports streams stored one level below the depot name: the format is //streamdepot/streamname.
Since TeamCity 2017.2, TeamCity supports deeper directory structure within the root depot: depots with a depth of //DEPOTNAME/1/2/n can be specified in this field.

 

Prior to TeamCity 2017.2, TeamCity supports streams stored one level below the depot name: the format is //streamdepot/streamname.

 Parameters are supported. For the StreamAtChange option, use the Label to checkout field.

Warning
titlePerformance impact

When this option is used with the checkout on the server mode, the internal TeamCity source caching on the server side is disabled, which may worsen the performance of clean checkouts. Also, with this option, snapshot dependencies builds are not reused. (TW-41898 - fixed in TeamCity 2017.1)

Note
titleCheckout rules limitations

When Perforce Streams are used with the checkout on the agent, simple checkout rules like . => sub/directory are supported. Exclude checkout rules, multiple include rules, or rules like aaa=>bbb are not supported.

Anchor
branchStreams
branchStreams
Enable feature branches support (experimental) - select this check box to specify branch streams you want to be monitored for changes in addition to the default one. Enter / Edit the branch specification as a newline-delimited set of rules. The syntax is  +|-:stream_name (with the optional * placeholder). 

Note
titleTask stream limitations

When task streams are used for feature branches, TeamCity may miss some changes in task streams until a modifying commit is made, which means that merge commits from the parent stream are not detected until a 'real' commit to the task stream is made (TW-44765).

Anchor
perforceClientOptionDescription
perforceClientOptionDescription
Client

Click this radio button to directly specify the client workspace name. The workspace must be already created by a Perforce client application like P4V or P4Win. Only the mapping rules from the configured client workspace are used. The client name is ignored.

Warning
titlePerformance impact

When this option is used with the checkout on the server mode, the internal TeamCity source caching on the server side is disabled, which may worsen the performance of clean checkouts. Also, with this option, snapshot dependencies builds are not reused. (TW-41898 - fixed in TeamCity 2017.1)

Anchor
perforceClientMappingOptionDescription
perforceClientMappingOptionDescription
Client Mapping

Click this radio button to specify the mapping of the depot to the client computer.
If you have Client mapping selected, TeamCity handles file separators according to the OS/platform of the build agent where a build is run. To enforce specific line separator for all build agents, use Client or Stream with the LineEnd option specified in Perforce instead of Client mapping. Alternatively, you can add an agent requirement to run builds only on a specific platform.

Info
titleTip

Use team-city-agent instead of the client name in the mapping.

Example:

Code Block
//depot/MPS/... //team-city-agent/...
//depot/MPS/lib/tools/... //team-city-agent/tools/...

(warning) Prior to TeamCity 10.0 editing the client mapping for a Perforce VCS root resulted in a Clean Checkout before the next build. A workaround was provided.

Since TeamCity 10.0, Now Clean Checkout on a client mapping change is not enforced for the agent-side checkout in the following cases:

  • when a Perforce client name is used. Changing the Perforce client mapping for the client will not result in a clean checkout
  • when a Perforce stream is used, changing the stream name while keeping the same stream root will not result in a clean checkout

(warning) If the direct client mapping is changed, a clean checkout will be forced unless the teamcity.perforce.enable-no-clean-checkout internal property is set on the server.

Anchor
perforceUserOptionDescription
perforceUserOptionDescription
Username

Specify the user login name.

Anchor
perforcePasswordOptionDescription
perforcePasswordOptionDescription
Password or Ticket

Specify the password or ticket.

Anchor
perforceTicketBasedAuthenticationOptionDescription
perforceTicketBasedAuthenticationOptionDescription
Ticket-based authentication

 

Check this option to enable ticket-based authentication. (info) This option is enabled by default and not displayed since TeamCity 2017.1

Case-Insensitivity in Checkout Rules

...

Anchor
perforcePathtop4ExecutableOptionDescription
perforcePathtop4ExecutableOptionDescription

P4 path on the build agent

 

Specify the path to the Perforce command-line client: p4.exe file.

Prior This field works only on the agent side for agent-side checkout (prior to TeamCity 2017.2.2 this path was be used for both the server-side checkout and the agent-side checkout. Since TeamCity 2017.2.2  this field works only on the agent side for agent-side checkout. ).
For the server, the p4 binary should be present in the PATH of the TeamCity server or can be specified via the teamcity.perforce.customP4Path internal property). 

To restore old behavior, the teamcity.perforce.p4PathOnServerWhitelist internal property can be used to specify a  semi-colon-separated list of allowed p4 paths.

Anchor
perforceLabelToCheckout
perforceLabelToCheckout
Label/changelist to sync

If you need to check out sources not with the latest revision, but with a specific Perforce label (with selective changes), you can specify this label here. For instance, this can be useful to produce a milestone/release build, or a reproduce build. If the field is left blank, the latest changelist will be used for sync.

Warning

It is recommended to use the agent-side checkout if you use symbolic labels. With the server-side checkout on label, TeamCity will perform full checkout.

Anchor
perforceCharsetOptionDescription
perforceCharsetOptionDescription
Charset

Select the character set used on the client computer.

Anchor
utf16
utf16
Support UTF-16 encoding

Enable this option if you have UTF-16 files stored as utf16 Perforce file type in your project.

You may want to enable this option if you use server-side checkout and have files of the utf16 Perforce file type in your depot. Enable this flag for the checked out files to be in the UTF-16 encoding. Otherwise, such files may be converted to UTF-8 upon checkout.

If you store UTF-16 files as the binary Perforce file type, they will always be checked out "as is", no conversion will be performed.

...