我们在Windows上使用Subversion时遇到了问题。开发人员提交了文件foo.Data.sql
,后来另一位开发人员提交了一个名为foo.data.sql
的文件。当然,这会导致Windows客户端出现问题(所有客户端都是我们环境中的Windows),因为文件在Subversion中区分大小写,但在Windows中不区分。
我们设法通过直接删除存储库中的一个文件来解决此问题,但我仍然有两个问题:
答案 0 :(得分:4)
肯定有一个钩子脚本可以检查区分大小写 - Sourceforge将它作为其中一个选项。快速谷歌出现了:http://www.subversionary.org/howto/using-check-case-insensitive-py-on-windows和http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/case-insensitive.py
如果用户1添加了foo.data.sql并且用户2在从用户1获得更新之前添加了foo.Data.sql,则会在Windows平台上出现此问题。
希望有所帮助:)
答案 1 :(得分:2)
在Windows上,文件不区分大小写,但保留大小写。您可以重命名文件,更改大小写,Windows将保留更改。 Subversion尝试创建第二个文件时出现此问题。 Windows报告该文件已存在。
如果你想将这两个文件合并为一个副本,而不是删除存储库中的文件,你可以重命名存储库中的坏文件(即附加一个像'.temp'这样的后缀),更新客户端,合并到好文件中,然后删除坏文件。
答案 2 :(得分:0)
1;这是可能的,因为这两个文件来自两个开发人员。一种是使用不同的情况重命名或创建文件,并且在提交期间没有意识到它将是添加而不是提交更改。
2;查看TortoiseSVN FAQ