Firstly, thanks for taking the time to read this and possibly comment on it.
Summary
After setting a custom SVN property on a file and committing, I cannot get the "svn log" command, with various options set, to display the property after I commit it. I have followed this example from the SVN redbook to no avail (Searchability sub-section).
My environment
Server: I am using 32-bit SubVersion Server version 1.6.15 running on 64-bit Windows Server 2008 R2
Client: TortoiseSVN 1.6.16 running on 32-bit Windows XP Pro SP3.
The repo is a test repo with no hooks of any kind available.
My scenario
After setting a custom property named active-projects on a a file named test.txt and committing that change to the repository I attempt to execute the following:
svn log --with-all-revprops --xml [url_to_test.txt]
The use of the --with-all-revprops is supposed to show me my custom property but alas, the above returned valid information in XML format but did not include the revprops element with a property named active-projects and its respective value.
Attempting to execute the following in the local directory, containing test.txt yielded the same results as above:
svn log --with-all-revprops --xml test.txt
What is interesting is that I can see the above property on that file at that URL via my repo browser. If I execute the following in the local directory, containing test.txt, the value of the property is returned as expected:
svn propget active-projects test.txt
Conclusions
So, any ideas why I cannot find my precious active-projects custom property via the svn log command using either the URL or the local path? It may be that I have misunderstood the concept or am missing some vital piece of server configuration. Your insight is appreciated.
You are confusing revision properties and regular properties. Revision properties are set for the whole revision and only apply to that revision (they are unversioned), regular properties are set per item (directory/file) and are versioned (i.e. if you change them they'll still be there for earlier revisions of the item; they can be diffed, etc.).
You've set an item property, while svn log --with-all-revprops
returns revision properties, not item properties.
Here's some more info from svn propset --help
:
$svn propset --help
propset (pset, ps): Set the value of a property on files, dirs, or revisions.
usage: 1. propset PROPNAME PROPVAL PATH...
2. propset PROPNAME --revprop -r REV PROPVAL [TARGET]
1. Changes a versioned file or directory property in a working copy.
2. Changes an unversioned property on a repository revision.
(TARGET only determines which repository to access.)
Hope this clears the confusion.