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

标签 xml svn properties

首先,感谢您花时间阅读本文并可能发表评论。

总结

在文件上设置自定义 SVN 属性并提交后,我无法使用设置了各种选项的“svn log”命令在提交后显示该属性。我已经关注了这个example从 SVN 红皮书无济于事(可搜索性子部分)。

我的环境

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

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

该存储库是一个测试存储库,没有任何可用的 Hook 。

我的场景

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

svn log --with-all-revprops --xml [url_to_test.txt]

--with-all-revprops 的使用本应向我显示我的自定义 属性 但遗憾的是,以上内容以 XML 格式返回了有效信息,但没有包括 revprops 元素和一个名为 active-projectsproperty 及其各自的值。

尝试在包含 test.txt 的本地目录中执行以下命令会产生与上述相同的结果:

svn log --with-all-revprops --xml test.txt

有趣的是,我可以通过我的存储库浏览器在该 URL 上看到该文件的上述属性。如果我在包含 test.txt 的本地目录中执行以下命令,则会按预期返回 property 的值:

svn propget active-projects test.txt

结论

所以,关于为什么我无法通过 svn log 命令使用 URL 或本地路径?可能是我误解了这个概念,或者遗漏了一些重要的服务器配置。感谢您的见解。

最佳答案

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

您设置了项目属性,而 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.)

希望这能消除混淆。

关于xml - 关于使用 : svn log --with-all-revprops --xml [URL] 显示属性的不一致行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10015528/

相关文章:

java - 属性文件未更新

mysql - 如何在 mysql 中为此 xml 创建一个表,以及创建表后如何导入?

xml - 使用 xslt 将一个 xml 文件的内容复制到另一个 xml 文件

linux - 使用 SVN 完全删除存储库

git - 将两个独立的 SVN 存储库 merge 为一个 Git 存储库

c# - 在 C# 中枚举对象的属性(字符串)

c# WinForms - 将主窗口的样式传递给对话框

php - 为什么 Pubmed 从 PHP 脚本生成的结果与手动搜索生成的结果不同?

xml - xmlns 中的 x 是 :x special?

svn - 在一个非常大的网站上使用 subversion