我正在使用SharpSVN API与使用VisualSVN Server软件创建的Subversion存储库进行交互。
我知道可以将自定义属性设置为修订版,但我想知道我们是否可以对存储库执行相同操作。
例如,我的存储库有一个我可以使用SharpSvn.SvnUriTarget
类检索的名称,但我也想为它设置描述并能够使用某些代码来获取它。
我尝试在存储库网址上调用SharpSvn.SvnClient.SetProperty
方法,但我收到错误(&#34;此参数不是有效路径。指定了Uri&#34;)。< / p>
如果无法为存储库创建自定义属性,我考虑创建第一个修订版的属性,然后始终查找修订号1并从那里获取属性它们存在。
你有更好的想法吗?
答案 0 :(得分:2)
Subversion定义了两种属性:节点属性(附加到文件或目录)和修订属性。
可以在没有提交的情况下更改版本属性(但在创建修订版后需要编辑服务器挂钩),而修订版属性只能通过提交进行更改。
这取决于你在做什么,什么效果最好。例如。 svnsync在r0
上存储一些修订属性以跟踪其状态,而TortoiseSVN广泛使用其状态的目录属性。最后一个变体允许同一存储库中的不同项目使用不同的值。
使用Subversion 1.8检索'祖先目录'上的属性变得便宜得多,因为我们为此实现了优化(网络)api。 (在SharpSvn中可用作SvnClient.InheritedPropertyList())