Helix Perforce – the name has changed and that`s all for now


Perforce is a commercial, proprietary revision control system developed by Perforce Software, Inc.
The Perforce server manages a central database and a master repository of file versions. Perforce supports both Git clients and clients that use Perforce’s own protocol. A Git client can communicate with the Perforce server over SSH or HTTPS, and other Perforce clients communicate with the server via TCP/IP using a proprietary RPC and streaming protocol. Users submit changed files together in changelists, which are applied as atomic commits.

The Perforce database is proprietary, preconfigured, and self-installed. It stores system-related metadata (file state, file attributes, branching and merging history, changelists, change descriptions, users, groups, labels, etc.). Files are identified by namespace (i.e., by OS-neutral filenames). File content itself is not stored in the database. MD5 hashes of file content are stored in the database, however, and can be used to verify repository file integrity.

Database tables are stored as binary files. Checkpoints and journals are written as text files that can be compressed and offloaded. A database that has been corrupted by hardware failure or other catastrophe can be recovered from the most recent journal and checkpoint. Administrators must plan for disaster recovery by configuring database journaling and setting up regular checkpoints.


Versioned file content is stored in a master directory hierarchy whose top levels are called “depots”. Text file revisions are stored as RCS deltas[notes 1] and binary file revisions are stored in their entirety.

The encoding used for text files in the repository is either ASCII or UTF-8,[1] depending on Perforce server configuration. Repository files are not encrypted. Revisions that are branches or copies of other revisions are virtual copies within the repository. All revisions are preserved by default; limits can be set on the number of revisions preserved. Obsolete revisions and files can be purged by the administrator. Repository files must be included in regular system backups.


From Release 2015.1 this now names “Perforce Helix” – nothing critical has been changed in product logic, some new functionality: [http://www.perforce.com/perforce/doc.current/user/relnotes.txt]

Supported Platforms

\* Linux 32/64
\* Windows 32/64[http://www.perforce.com/perforce/doc.current/user/relnotes.txt]

Useful URLs


Known Versions

  • Release 2015.1 new name ‘Perforce Helix’
  • Release 2014.3
  • Release 2014.3
  • Release 2014.2
  • Release 2014.1
  • Release 2013.6
  • Release 2013.4

  • Release 2013.3
  • Release 2013.2
  • Release 2013.1
  • Release 2012.3
  • Release 2012.2
  • Release 2012.1
  • Release 2011.2
  • Release 2010.2
  • Release 2010.1
  • Release 2009.3
  • Release 2009.2
  • Release 2009.1
  • Release 2008.2
  • Release 2008.1

  • [http://www.perforce.com/resources/software-release-index][http://www.perforce.com/perforce/doc.current/user/relnotes.txt]



Installation Methods



From *perforce64.exe* install pack


from binaries

  • From here: [http://www.perforce.com/perforce/doc.current/manuals/p4sag/chapter.install.html#install.unix]

Although you can install p4 and p4d in any directory, on UNIX, the Perforce applications typically reside in /usr/local/bin, and the Perforce service is usually located either in /usr/local/bin or in its own server root directory. You can install Perforce applications on any machine that has TCP/IP access to the p4d host.

To limit access to the Perforce service’s files, ensure that the p4d executable is owned and run by a Perforce user account that has been created for the purpose of running the Perforce service.

  • To start using Perforce:

Download the p4 and p4d applications for your platform from the Perforce web site.Make the downloaded p4 and p4d files executable.Create a server root directory to hold the Perforce database and versioned files.Tell the Perforce service what port to listen to by specifying a TCP/IP port to p4d.Start the Perforce service (p4d).Set the p4d port and address for Perforce applications by setting the P4PORT environment variable.


chmod +x p4

chmod +x p4d

Other installation way

This part is useful only for testing purposes

h1. Trigger

p4s – s for SERVER windows instance

p4d – d for DEAMON linux instance

h3. Windows:

\*getProcessList on
*Command{*}C:\Program Files\Perforce\Server\p4d.exe

\*getServices on
*Discovered Service:* Perforce
Cmdline “C:\Program Files\Perforce\Server\p4s.exe”


h3. Linux:

*Arguments*\-r /var/www/perforce/ \-J /var/log/journal \-L /var/log/p4err \-p tcp64:[]:1666

* trigger will be:

_windows_cmd_ p4d\.exe
_windows_cmd_ p4s\.exe
_unix_cmd_ p4d


Both OS

To shut down the Perforce service, use the command:

Only a Perforce superuser can use p4 admin stop.


  •  The Perforce service (p4s.exe) and the Perforce server (p4d.exe) executables are copies of each other; they are identical apart from their filenames.
  • When run, the executables use the first three characters of the name with which they were invoked (eitherp4sorp4d) to determine their behavior. (For example, invoking copies ofp4d.exenamedp4smyservice.exeorp4dmyserver.exeinvoke a service and a server, respectively.)
  • If you install Perforce as a service under Windows, the service starts whenever the machine boots. Use the*Services*applet in the{*}Control Panel*to control the Perforce service’s behavior.
  • If you install Perforce as a server under Windows, invokep4d.exefrom a command prompt. The flags forp4dunder Windows are the same as those used under UNIX.
  • To stop a Perforce service (or server), use the command:

  • Only a Perforce superuser can use: p4 admin stop.
  • For older revisions of Perforce, shut down services manually by using the*Services*applet in the*Control Panel*. Shut down servers running in command prompt windows by pressing*CTRL*+*C*in the window or by clicking the icon to close the command prompt window. Manually shutting down a server in this way is not necessarily “clean”; best practice is to use thep4 admin stopcommand.

As service:



Windows configuration parameter precedence

Can be useful for different installations

Under Windows, Perforce configuration parameters can be set in many different ways.

  • When a Perforce application (such as p4 or P4V), or a Perforce server program (p4d) starts up, it reads its configuration parameters according to the following precedence:


For Perforce applications or a Perforce server (p4d), command-line flags have the highest precedence.
For a Perforce server (p4d), persistent configurables set with p4 configure.
The P4CONFIG file, if P4CONFIG is set.
User environment variables. System environment variables.
The Windows user registry (or OS X user preferences) (set by p4 set).
The Windows system registry (or OS X system preferences) (set by p4 set \-s).

  • When a Perforce service (p4s) starts up, it reads its configuration parameters from the environment according to the following precedence:

Persistent configurables set with p4 configure have the highest precedence.
Windows service parameters (set by p4 set \-S servicename).
System environment variables.
The Windows system registry (or OS X user preferences) (set by p4 set \-s).

  • User environment variables can be set with any of the following:

The MS-DOS set command The AUTOEXEC.BAT file
The User Variables tab under the System Properties dialog box in the Control Panel

  • System environment variables can be set with:

The System Variables tab under the System Properties dialog box in the Control Panel.

h2. Linux:

On UNIX systems, there is only one Perforce service (p4d) responsible for providing the versioning service. On Windows, this program can be configured to run as a Windows service (p4s.exe) process that starts at boot time, or as a server (p4d.exe) process that you invoke manually from a command prompt.

You can override P4PORT by starting p4d with the \-p flag (in this example, listen to port 1818 on IPv6 and IPv4 transports), and P4ROOT by starting p4d with the \-r flag. Similarly, you can specify a journal file with the \-J flag, and an error log file with the \-L flag.

A startup command that overrides the environment variables might look like this:

To restart a running Perforce service (for example, to read a new license file), use the command:

Only a Perforce superuser can use p4 admin restart. On UNIX platforms, you can also use kill \-HUP to restart the service.


Active Versioning

The server version is also displayed when you invoke p4d \-V or p4 \-V.


  • p4d \-V or p4 \-V

  •  p4.exe info

 Almost the same for p4d.exe

  • p4d.exe info


  • p4d \-V or p4 \-V.

  • ./p4 info


Comparing with ours p4 installation, p4 \-V is enough to catch all needed info about installation at all:

Package Versioning

can be useful only for testing purposes


Perforce Server Components 142.101.4956 x86_64


  • none
    Installs by \-untar with bin, no packages.


  • Licensing information is contained in a file called license in the server root directory. The license file is a plain text file supplied by Perforce Software.
  • Without the license file, the service limits itself to either 20 users and 20 client workspaces (and unlimited files), or to an unlimited number of users and workspaces (but with a limit of 1000 files). You can update an existing file without stopping Perforce by using the p4 license command. See Adding new licensed users for details.
  • If the service is running, any user can use p4 info to view basic licensing information. Administrators can use p4 license \-u to obtain more detailed information about how many users and files are in use.
  • If the service is down, you can can also obtain licensing information by running p4d \-V from the server root directory where the license file resides, or by specifying the server root directory either on the command line (p4d \-V \-r server_root) or in the P4ROOT environment variable.


Licence cmd



Licence cmd



Perforce integration with SQL databases.

May connect to the MySQL but this ver. is too old (Feb 08, 2010) : [http://www.perforce.com/blog/100208/introducing-p4todb-perforce-integration-sql-databas]


About trianglesis

Александр Брюндтзвельт - гений, филантроп, 100 гривен в кармане. Этот блог - "сток" моих мыслей и заметок. Достаточно одного взгляда на него, чтобы понять, что такой же бардак творится у меня в голове. Если вам этот бардак интересен - милости прошу.
Bookmark the permalink.