Inconsistent behaviour with with regard to displaying properties using: svn log --with-all-revprops --xml [URL]

Go To StackoverFlow.com

3

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.

2012-04-04 16:37
by surfjungle
Welcome to Stack Overflow! This is a very detailed and well-written question - jtbandes 2012-04-05 08:42
Thank you jtbandes - I'm nothing if not meticulous :) - I have been taken off this project for a time but when it heats up again, if I figure it out, I shall post a reply to it - surfjungle 2012-05-01 09:25


2

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.

2012-05-01 14:21
by malenkiy_scot
Thanks malenkiy_scot. You have really cleared that up for me and since I now understand it, I have since found an example of what I was looking for at linksurfjungle 2012-07-05 12:43
Ads