Subversion Properties

Subversion allows users to invent arbitrarily named versioned properties on files and directories, as well as unversioned properties on revisions. The only restriction is on properties whose names begin with svn: (those are reserved for Subversion's own use). While these properties may be set by users to control Subversion's behavior, users may not invent new svn: properties.

Versioned Properties

These are the versioned properties that Subversion reserves for its own use:

svn:executable

If present on a file, the client will make the file executable in Unix-hosted working copies. See the section called “File Executability”.

svn:mime-type

If present on a file, the value indicates the file's MIME type. This allows the client to decide whether line-based contextual merging is safe to perform during updates, and can also affect how the file behaves when fetched via a web browser. See the section called “File Content Type”.

svn:ignore

If present on a directory, the value is a list of unversioned file patterns to be ignored by svn status and other subcommands. See the section called “Ignoring Unversioned Items”.

svn:keywords

If present on a file, the value tells the client how to expand particular keywords within the file. See the section called “Keyword Substitution”.

svn:eol-style

If present on a file, the value tells the client how to manipulate the file's line-endings in the working copy and in exported trees. See the section called “End-of-Line Character Sequences” and svn export earlier in this chapter.

svn:externals

If present on a directory, the value is a multiline list of other paths and URLs the client should check out. See the section called “Externals Definitions”.

svn:special

If present on a file, indicates that the file is not an ordinary file, but a symbolic link or other special object. [58]

svn:needs-lock

If present on a file, tells the client to make the file read-only in the working copy, as a reminder that the file should be locked before editing begins. See the section called “Lock Communication”.

svn:mergeinfo

Used by Subversion to track merge data. See the section called “Mergeinfo and Previews” for details, but you should never edit this property unless you really know what you're doing.

Unversioned Properties

These are the unversioned properties tht Subversion reserves for its own use:

svn:author

If present, contains the authenticated username of the person who created the revision. (If not present, the revision was committed anonymously.)

svn:date

Contains the UTC time the revision was created, in ISO 8601 format. The value comes from the server machine's clock, not the client's.

svn:log

Contains the log message describing the revision.

svn:autoversioned

If present, the revision was created via the autoversioning feature. See the section called “Autoversioning”.



[58] As of this writing, symbolic links are indeed the only “special” objects. But there might be more in future releases of Subversion.