有没有办法强制SVN不区分大小写?我们遇到一个问题,用户从linux环境提交文件说“file.ext”和“File.ext”。工作得很好。然而,问题是当MAC OSX或Windows上的用户尝试更新/结账时。这两个文件被认为是相同的,并且操作失败了。
有没有办法让SVN首先阻止提交“File.ext”和“file.ext”?
This question类似,但从Windows端看同样的问题,这不是问题。
答案 0 :(得分:11)
您可以尝试预先提交挂钩,例如this one(但不是我自己尝试)。
我认为让用户注意它已被排除?我一直在Linux上工作,但通常认为文件名不区分大小写,i。即 me ,无论操作系统认为是什么,它们都是一样的。
答案 1 :(得分:2)
Subversion 1.7现在似乎可以在Windows上处理case only renames。
答案 2 :(得分:0)
我会说你正在以错误的方式看事情。这里最好的解决方案是将文件保持为区分大小写的方式。如果用户在Linux或Solaris中签出,该项目将无法使用。
另外,考虑一些依赖于区分大小写的语言编译器,Java编译器会抱怨文件名,因为我相信其他语言会。
另一个问题是部署,如果部署在* NIX系统上会怎样。那你麻烦了!
答案 3 :(得分:0)
我认为技术问题确实存在于Mac& Windows方面,即他们的文件系统不区分大小写。至少在mac上,您可以将文件系统重新格式化为HFS +,并启用区分大小写。我不是Windows用户,但在Windows的本机文件系统中可能有类似的选项(它仍然是NTFS吗?)。
如果您不足以控制开发人员的环境以强制他们使用区分大小写的文件系统进行格式化,那么我认为您唯一的选择是检查重复的预提交挂钩(显然不区分大小写的比较)文件名在同一目录或中,以修改您的项目,使其不使用同一目录中具有相同名称和不同大小写的文件。