svk propset — Set PROPNAME to PROPVAL on files, directories, or revisions.


svn propset PROPNAME --revprop --revision REV@ PROPVAL [DEPOTPATH|PATH]


Set PROPNAME to PROPVAL on files, directories, or revisions. The first example creates a versioned, local property change in the working copy, or directly in the depot if a depotpath is specified. If neither are specified it set the property on .. The second creates an unversioned, property change on a depot revision, using the DEPOT specified by DEPOTPATH or PATH or the depot associated with ..


SVK has a number of “special” properties that affect its behavior. See the section called “” for more on these properties.

Alternate Names

ps, pset


Working copy, depot only if operating on a DEPOTPATH, mirrored repository if the depotpath is mirrored.

Accesses Depot


Accesses Mirrored Repository

Only if operating on a depotpath which is mirrored


--revision (-r) REV
--recursive (-R)
--message (-m)
--file (-F)
--encoding ENC
--patch (-P) NAME
--sign (-S)
--check-only (-C)
--quiet (-q)


Set the mimetype on a file:

$ svk propset svn:mime-type image/jpeg foo.jpg 
 M  foo.jpg

On a UNIX system, if you want a file to have the executable permission set:

$ svk propset svn:executable ON

Perhaps you have an internal policy to set certain properties for the benefit of your coworkers:

$ svk propset owner sally foo.c
 M  foo.c

If you made a mistake in a log message for a particular revision and want to change it, use --revprop and set svn:log to the new log message:

$ svk propset --revprop --revision 25 svn:log "Journaled about trip to New York."
Property 'svn:log' set on repository revision 25.

Or, if you don't have a working copy, you can provide a DEPOTPATH.

$ svn propset --revprop --revision 26 svn:log "Document nap." //
property 'svn:log' set on repository revision 26.


If you are working with a mirrored repository changes to revision properties will only affect your own depot. Also if you were to make changes to revision properties in the Subversion repository you are mirroring from, other people would only see the changes you make if they hadn't already synced up to the revision you are changing. This is because changing revision properties does not commit a change to the repository so the mirroring code has no way of knowing that anything changed.