What’s new in the Helix Core P4 Command Reference

This section provides a summary with links to topics in this reference. For a complete list of what's new in this release, see the Release Notes.

2020.1 release

2019.2 release

  • p4 configure history allows the super user to display information about changes to configurables on any 2019.2 server.
  • The -p option of p4 obliterate marks the revison as purged and leave the integration history intact rather than removing the records. This one-step command improves performance compared to first invoking p4 archive, and then invoking p4 archive -p
  • p4 stream and p4 jobspec support the automatic assignment of values to identify custom fields.
  • p4 storage has new options, -l and -d, to locate and delete any existing "orphaned" files left over from a previous failed submit or shelve operation. Two new configurables associated with this feature are lbr.storage.allowsymlink and lbr.storage.delay.
  • p4 verify has a new option, -Z, to boost performance.
  • Added the ability to create custom fields in stream specs. See the new command, p4 streamspec.

  • To avoid the risk of conflicting field codes, field codes for custom stream and job specs can now be generated automatically if the admin uses the optional NNN placeholder value. For details, see p4 streamspec and p4 jobspec.
  • A new configurable, db.monitor.term.allow, allows users to terminate their own processes.

2019.1 release

  • Private editing of streams in the p4 stream topic
  • Additional enhancements to streams:
  • Background archive transfer for edge server submits: the user submitting a change with p4 submit -b will see the submit complete as soon as the metadata commit is completed, and will not have to wait for the archives to transfer. To enable this feature, set submit.allowbgtransfer and, optionally, submit.autobgtransfer.
  • p4 pull has the new option for -t target for recovery of failed archive transfers.
  • p4 server - For all server types, the DistributedConfig: field of that server spec shows a line for each configurable that is set to a non-default value. In this field, you can edit the value, add a new line to set a different configurable to a non-default value, or delete a line to reset that configurable to its default value.
  • The Helix Core server extensions are a fully-supported alternative to triggers. See

  • Support for locking Git LFS (Large File Storage) files in depots of type graph by using the new commands: p4 graph lfs-lock (graph), p4 graph lfs-locks (graph), and p4 graph lfs-unlock (graph) such that the locks created in Helix Core server with p4 graph lfs-lock are visible to Git clients, and the locks created in Git with git lfs lock are visible to Helix Core server.
  • By default, the server.maxcommands.allow configurable enables the super and operator users to issue certain administrative commands even if the server.maxcommands is blocking standard users.
  • Failover: see the Description section on the p4 failover topic about the High Availability standby server.
  • p4 archive has the new -z option, which can reduce disk space usage.
  • The net.autotune configurable is enabled (1) by default. This enables the TCP stack to manage the size of the network send and receive buffers, allowing more efficient use of the network, especially over slow, high-latency connections. This behavior can be disabled in clients, proxies, brokers and the server by setting the configurable to 0. On Windows-based platforms, send buffer sizes are not autotuned but are manually configurable with net.tcpsize.
  • p4 reconcile has a new option, -t, to consider the file type
  • p4 integrated has two new options to make it easier to show where a change has been integrated to: -s and --into-only
  • The definition of the P4LANGUAGE variable was updated in 2019.1 and it should be set to the language tag and optional region for the user. For example, if $LANG is en-US.UTF-8, set P4LANGUAGE=en-US. Servers with existing message translations will need their message database to be re-seeded with an updated message file.

  • Support for utilizing multiple processor groups on Windows depends on the new configurable, sys.threading.groups.

  • Setting the new push.unlocklocked configurable to 1 automatically unlocks files that were locked as part of a failed push.

2018.2 release

2018.1 Patch release

Multi-factor authentication (MFA)

For help on multi-factor authentication:

This feature is currently supported for most Helix Core server clients, including:

  • Swarm 2018.1
  • The 2018.2 releases of P4V, P4Eclipse, P4VS, and P4EXP
Graph depot commands

Commands to read or write against Git repos stored in the Helix server within a Graph Depot are no longer in Tech Preview. See Graph depot commands.

Configurables To see whether changing the value of a given configurable requires stopping the server, in that configurable's details look for "After you change the value of this configurable, you must explicitly "stop" the server." For an example, see ssl.tls.version.min.

2018.1 release

Area Feature
graph depot
Configurables - alphabetical list
  • rpl.journalcopy.location be useful in a distributed environment. For details, see Helix Core Server Administrator Guide.
  • To prevent p4 info from exposing sensitive fields, consider using dm.info.hide.
  • p4 configure set now notifies you when you attempt to set a numeric configurable to a value outside of the acceptable range.
    Previously, a value below the minimum was silently altered to the minimum, and a value above the maximum was silently altered to the maximum. (Configurables already set outside the acceptable ranges will continue to be silently altered.)
  • To prevent users from being created if they would have no permissions on the server, you can configure auth.ldap.userautocreate
  • Additional security is available by using auth.tickets.nounlocked

  • filesys.checklinks supports an additional value, 3

p4 admin

For fail-over scenarios, the p4 admin end-journal command can be useful. See that command's Examples
p4 keys p4 keys -e nameFilter supports a period in key names
p4 stream

Stream path definitions can include a wildcard in the final expression of a path, following the last slash. You can use this feature to refer to a collection of files, such as path_type pattern/to/....exe or path_type pattern/to/*.txt
For examples, see theTo manage files of similar file-type in your stream specs, consider using wildcards (... and *) explicitly following the final slash in the path definition:

Second factor authentication

For details and examples, see the p4 help 2fa documentation and the Support Knowledgebase article, "Second Factor Authentication Support".

Please note that not all client applications have added support for second factor authentication yet.

LDAP You can track the activity of p4 ldapsync. See ldapsync.csv at p4 logparse.