是否可以将自定义属性设置为SVN存储库?

时间:2014-04-02 10:38:14

标签: svn visualsvn-server sharpsvn

我正在使用SharpSVN API与使用VisualSVN Server软件创建的Subversion存储库进行交互。

我知道可以将自定义属性设置为修订版,但我想知道我们是否可以对存储库执行相同操作。

例如,我的存储库有一个我可以使用SharpSvn.SvnUriTarget类检索的名称,但我也想为它设置描述并能够使用某些代码来获取它。

我尝试在存储库网址上调用SharpSvn.SvnClient.SetProperty方法,但我收到错误(&#34;此参数不是有效路径。指定了Uri&#34;)。< / p>

如果无法为存储库创建自定义属性,我考虑创建第一个修订版的属性,然后始终查找修订号1并从那里获取属性它们存在。

你有更好的想法吗?

1 个答案:

答案 0 :(得分:2)

Subversion定义了两种属性:节点属性(附加到文件或目录)和修订属性。

可以在没有提交的情况下更改版本属性(但在创建修订版后需要编辑服务器挂钩),而修订版属性只能通过提交进行更改。

这取决于你在做什么,什么效果最好。例如。 svnsync在r0上存储一些修订属性以跟踪其状态,而TortoiseSVN广泛使用其状态的目录属性。最后一个变体允许同一存储库中的不同项目使用不同的值。

使用Subversion 1.8检索'祖先目录'上的属性变得便宜得多,因为我们为此实现了优化(网络)api。 (在SharpSvn中可用作SvnClient.InheritedPropertyList())