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

是否可以将自定义属性设置为SVN存储库?,svn,visualsvn-server,sharpsvn,Svn,Visualsvn Server,Sharpsvn,我正在使用SharpSVN API与使用VisualSVN服务器软件创建的Subversion存储库进行交互 我知道可以将自定义属性设置为修订版,但我想知道我们是否可以对存储库进行同样的设置 例如,我的存储库有一个名称,我可以使用SharpSvn.SvnUriTarget类检索该名称,但我还想为其设置一个描述,并能够使用一些代码获取该名称 我试图调用存储库url上的SharpSvn.SvnClient.SetProperty方法,但出现错误(“此参数不是有效路径。指定了Uri”) 如果无法为存储

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

我知道可以将自定义属性设置为修订版,但我想知道我们是否可以对存储库进行同样的设置

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

我试图调用存储库url上的
SharpSvn.SvnClient.SetProperty
方法,但出现错误(“此参数不是有效路径。指定了Uri”)

如果无法为存储库创建自定义属性,我会考虑为第一个版本创建属性,然后始终查找版本号1并从中获取属性(如果存在)


您有更好的想法吗?

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

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

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


随着Subversion 1.8在“祖先目录”上检索属性变得更加便宜,因为我们为此实现了一个优化的(网络)api。(在SharpSvn中以SvnClient.InheritedPropertyList()的形式提供)

谢谢你,伯特,我需要与所有工作副本共享这些属性,所以我想我会选择r0上的修订属性。