【问题标题】:Prevent file casing problems in Subversion防止 Subversion 中的文件大小写问题
【发布时间】:2008-09-11 08:23:02
【问题描述】:

我们在 Windows 上使用 Subversion 时遇到问题。一个开发人员提交了一个文件foo.Data.sql,后来另一个开发人员提交了一个名为foo.data.sql 的文件。自然,这会导致 Windows 客户端出现问题(我们环境中的所有客户端都是 Windows),因为文件在 Subversion 中区分大小写,但在 Windows 中不区分大小写。

我们设法通过直接删除存储库中的一个文件来解决此问题,但我仍有两个问题:

  1. 开发人员如何使用 Windows 客户端执行此操作?他的工作副本是否无效,或者客户端 (TortoiseSVN) 中是否存在错误?
  2. 我们如何防止此类更改进入存储库(即是否有人编写了一个钩子脚本来执行文件大小写问题的完整性检查)?

【问题讨论】:

    标签: svn tortoisesvn


    【解决方案1】:

    肯定有一个检查大小写敏感性的钩子脚本——Sourceforge 将它作为他们的选项之一。快速谷歌出现:http://www.subversionary.org/howto/using-check-case-insensitive-py-on-windowshttp://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/case-insensitive.py

    如果用户 1 添加了 foo.data.sql 并且用户 2 在从用户 1 获取更新之前添加了 foo.Data.sql,则该问题将出现在 Windows 平台上。

    希望有帮助:)

    【讨论】:

      【解决方案2】:

      在 Windows 上,文件不区分大小写,但会保留大小写。您可以重命名文件,更改大小写,Windows 将保留更改。当 Subversion 尝试创建第二个文件时,就会出现问题。 Windows 报告该文件已存在。

      如果您想将这两个文件合并为一个副本,而不是删除存储库中的文件,您可以重命名存储库中的坏文件(即附加一个后缀,如“.temp”),更新客户端,合并到好文件,然后删除坏文件。

      【讨论】:

        【解决方案3】:

        1;这是可能的,因为这两个文件来自两个开发人员。一种是使用不同的情况重命名或创建文件,并且在提交期间没有意识到这将是添加而不是提交更改。

        2;检查TortoiseSVN FAQ

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-04-14
          • 1970-01-01
          • 2010-11-18
          • 2014-05-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多