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