【问题标题】:Is it possible to set custom properties to a SVN repository?是否可以将自定义属性设置为 SVN 存储库?
【发布时间】:2014-04-17 01:03:01
【问题描述】:

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

我知道可以为修订设置自定义属性,但我想知道我们是否可以为存储库做同样的事情。

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

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

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

你有更好的想法吗?

【问题讨论】:

    标签: svn visualsvn-server sharpsvn


    【解决方案1】:

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

    无需提交即可更改修订属性(但在创建修订后需要服务器挂钩进行编辑),而修订属性只能通过提交更改。

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

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

    【讨论】:

    • 谢谢 Bert,我需要与所有工作副本共享这些属性,所以我想我会去 r0 上的修订属性。
    猜你喜欢
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多