关于使用:svn log--with all revprops--xml[URL]显示属性的行为不一致

关于使用:svn log--with all revprops--xml[URL]显示属性的行为不一致,xml,svn,properties,Xml,Svn,Properties,首先,感谢您花时间阅读本文并对其进行评论 摘要 在文件上设置自定义SVN属性并提交后,我无法使用设置了各种选项的“SVN log”命令在提交属性后显示该属性。我在SVN红皮书中遵循了这一点,但毫无用处(可搜索性小节) 我的环境 服务器:我使用的是运行在64位Windows Server 2008 R2上的32位SubVersion服务器版本1.6.15 客户端:在32位Windows XP Pro SP3上运行的TortoiseSVN 1.6.16 回购是一种没有任何挂钩的测试性回购 我的场景

首先,感谢您花时间阅读本文并对其进行评论

摘要

在文件上设置自定义SVN属性并提交后,我无法使用设置了各种选项的“SVN log”命令在提交属性后显示该属性。我在SVN红皮书中遵循了这一点,但毫无用处(可搜索性小节)

我的环境

服务器:我使用的是运行在64位Windows Server 2008 R2上的32位SubVersion服务器版本1.6.15

客户端:在32位Windows XP Pro SP3上运行的TortoiseSVN 1.6.16

回购是一种没有任何挂钩的测试性回购

我的场景

在名为test.txt的文件上设置名为active projects的自定义属性并将该更改提交到存储库后,我尝试执行以下操作:

svn log --with-all-revprops --xml [url_to_test.txt]
使用--with all revprops应该向我显示我的自定义属性,但遗憾的是,上面以XML格式返回了有效信息,但没有包括带有名为active projects的属性及其相应值的revprops元素

试图在包含test.txt的本地目录中执行以下操作,得到与上述相同的结果:

svn log --with-all-revprops --xml test.txt
有趣的是,我可以通过我的repo浏览器在该URL上看到该文件的上述属性。如果在包含test.txt的本地目录中执行以下操作,则会按预期返回属性值:

svn propget active-projects test.txt
结论


那么,您知道为什么我无法通过使用URL或本地路径的svn log命令找到宝贵的活动项目自定义属性吗?可能是我误解了这个概念,或者遗漏了服务器配置的一些重要部分。感谢您的洞察力。

您混淆了修订属性和常规属性。修订属性是为整个修订设置的,仅适用于该修订(它们是未修订的),常规属性是为每个项目(目录/文件)设置的,并且是版本化的(即,如果您更改它们,它们仍将存在于项目的早期修订中;它们可以不同,等等)

您已经设置了一个项目属性,而
svn log--with all revprops
返回的是修订属性,而不是项目属性

以下是来自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.)

希望这能消除混淆。

欢迎使用堆栈溢出!这是一个非常详细且写得很好的问题。谢谢jtbandes-我非常仔细:)-我已经停止这个项目一段时间了,但当它再次升温时,如果我弄明白了,我会发布一个回复。谢谢malenkiy_scot。你真的为我澄清了这一点,既然我现在明白了,我就找到了一个我一直在寻找的例子