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.
These are the versioned properties that Subversion reserves for its own use:
svn:executableIf present on a file, the client will make the file executable in Unix-hosted working copies. See the section called “File Executability”.
svn:mime-typeIf 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:ignoreIf 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:keywordsIf 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-styleIf 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:externalsIf 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:specialIf present on a file, indicates that the file is not an ordinary file, but a symbolic link or other special object. [58]
svn:needs-lockIf 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:mergeinfoUsed 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.
These are the unversioned properties tht Subversion reserves for its own use:
svn:authorIf present, contains the authenticated username of the person who created the revision. (If not present, the revision was committed anonymously.)
svn:dateContains 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:logContains the log message describing the revision.
svn:autoversionedIf 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.