File type modifiers

You can apply file type modifiers to the base types of specific files to preserve timestamps, expand RCS keywords, specify how files are stored in the service, and more. For details about applying modifiers to file types, see Specifying how files are stored in Helix Core.

The following table lists the file type modifiers:

Modifier Description Comments

+C

Helix Core stores the full compressed version of each file revision

Default storage mechanism for binary files and newly-added text, unicode, or utf16 files larger than 10MB.

+D

Helix Core stores deltas in RCS format

Default storage mechanism for text files.

+F

Helix Core stores full file per revision

For large ASCII files that aren’t treated as text, such as PostScript files, where storing the deltas is not useful or efficient.

+k

RCS (Revision Control System) keyword expansion

Supported keywords are as follows:

$Id$

$Header$

$Date$

Date of submission

$DateUTC$

Date of submission in UTC time zone

$DateTime$

Date and time of submission

$DateTimeUTC$

Date and time of submission in UTC time zone.

$DateTimeTZ$

Date and time of submission in the server’s time zone, but including the actual time zone in the result.

$Change$

$File$

$Revision$

$Author$

RCS keywords are case-sensitive. A colon after the keyword (for example, $Id:$) is optional.

+ko

Limited keyword expansion

Expands only the $Id$ and $Header$ keywords. Primarily for backwards compatibility with versions of Helix Core prior to 2000.1, and corresponds to the +k (ktext) modifier in earlier versions of Helix Core.

+l

Exclusive open (locking)

If set, only one user at a time can open a file for editing.

Useful for binary file types (such as graphics) where merging of changes from multiple authors is not possible.

+m

Preserve original modification time

The file’s timestamp on the local file system is preserved upon submission and restored upon sync. Useful for third-party DLLs in Windows environments, because the operating system relies on the file’s timestamp. By default, the modification time is set to the time you synced the file.

+S

Only the head revision is stored

Older revisions are purged from the depot upon submission of new revisions. Useful for executable or .obj files.

+Sn

Only the most recent n revisions are stored, where n is a number from 1 to 10, or 16, 32, 64, 128, 256, or 512.

Older revisions are purged from the depot upon submission of more than n new revisions, or if you change an existing +Sn file’s n to a number less than its current value. For details, see the P4 Command Reference.

Using an +Sn file modifier results in special behavior when you delete and readd a file: no file reversions are deleted that were submitted before the add or delete. For example, if a file of type +S2 is marked as deleted in revision 5, and then re-added with the same file type and modifier, revisions 3 and 4 are not purged.

+w

File is always writable on client

Not recommended, because Helix Core manages the read-write settings on files under its control.

+x

Execute bit set on client

Used for executable files.

+X

Archive trigger required

The Helix Core server runs an archive trigger to access the file. See the Helix Versioning Engine Administrator Guide: Fundamentals for details.