【问题标题】:How to automate property setting in SVN?如何在 SVN 中自动设置属性?
【发布时间】:2011-03-24 17:17:38
【问题描述】:

我的subversion 存储库有一个预提交挂钩,它要求所有文件在提交之前都具有 SVN 属性。

我正在手动设置此属性,使每次添加文件和文件夹都成为两步提交。

如何自动化?

【问题讨论】:

  • 虽然我帮不上忙,但我在 SVN 中使用的唯一属性是 svn:extern 属性,但我承认对您通常设置哪些属性以及为什么需要一个属性感到好奇。
  • @Ray: svn:mime-type 是另一个例子。这对于存储库中指向 HTML 文档的 HTTP 链接特别有用:如果没有正确的 mime 类型,您的浏览器会将这些显示为文本文件,而不是呈现页面。

标签: svn tortoisesvn pre-commit-hook


【解决方案1】:

查看 TortoiseSVN 文档中的 Automatic property setting 部分。

您可以按照 Josh 的说明在本地配置每个客户端,或者将配置放入具有 tsvn:autoprops 属性的存储库中。后者仅适用于 TortoiseSVN 客户端。

命令行客户端不支持服务器端配置 autoprops。有一些与此相关的更改请求,例如issue 1974issue 1813

【讨论】:

    【解决方案2】:

    这取决于您的客户。例如,在 TortoiseSVN 中,以下是在所有 .c、.cpp 和 .h 文件上设置 svn:eol-style 的说明:

    1. 在开始菜单下,在 TortoiseSVN 下,在设置下。在“常规”选项卡下,点击“编辑”。
    2. 在 [杂项] 下,取消注释 enable-auto-props = yes
    3. 在 [auto-props] 下,添加以下行: *.c = svn:eol-style=native *.cpp = svn:eol-style=native *.h = svn:eol-style=native *.hpp = svn:eol-style=native

    对于 Linux 上的 Subversion 命令行客户端,编辑 ~/.subversion/config,然后执行上面的步骤 #2 和 #3。

    【讨论】:

    • 它对我不起作用,但它应该是我的乌龟或我的配置有问题
    • 问题是我写的是svn:needs-lock=*而不是svn:needs-lock=x
    • 这些 auto-props 是在添加时应用还是在提交时应用?服务器预提交钩子仍然阻止我提交,所以我认为我需要恢复并重新添加每个文件以设置属性,但我希望有更简单的方法
    • 没关系,只是删除并添加了一个有问题的文件,它的错误消息就消失了。因此,对于其他任何人来说,这些配置更改仅适用于新增内容。有时间我将不得不问一个关于“在 tortoise svn 中批量重新添加未提交的添加文件”的新问题
    猜你喜欢
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    相关资源
    最近更新 更多