我可以使Windows的Subversion + TortoiseSVN不区分大小写吗?
在过去的几个月中,我一直在使用Subversion与TortoiseSVN进行代码控制,以与服务器接口,并且总体来说进展非常好!但是,偶尔我的FoxPro IDE会更改文件扩展名的大小写,而不会发出警告,其中" program.prg"变为" program.PRG"。名称显示为"非版本",这严重破坏了我跟踪文件更改的能力。我知道Subversion起源于* nix的区分大小写的世界,但是,与Windows一起使用时,是否有任何方法可以控制Subversion或者TortoiseSVN中的这种行为使其文件名不区分大小写?
解决方案
回答
不幸的是,Subversion区分大小写。这是由于可以在区分大小写的文件系统(例如* nix)和不区分大小写的文件系统(例如Windows,Mac)上检出Subversion中的文件。
此预提交的钩子脚本可以避免在签入文件时出现问题。如果它不能解决问题,我最好的建议是编写一个小脚本,以确保所有扩展名都是小写的,并在每次签入/签出之前运行它。这将是一个PITA,但也许是最好的选择。
回答
我将TortoiseSVN与VFP一起使用,它几乎无缝地处理大小写翻转。唯一的例外是,当我尝试执行提交时是否在IDE中打开了文件:VFP持有的文件锁将其混淆。这是问题出现的地方,还是其他问题?
去年,我在FoxForward上做了一个有关将VFP与Subversion一起使用的演示文稿:大部分演示文稿都与命令行有关,但是最后有几张幻灯片,其中包含指向可在VFP中使用Subversion的工具的链接。 http://docs.google.com/Presentation?id=dfxkh6x4_3ghnqc4
回答
套件,我们在上面评论说,VFP的基于二进制的源文件很难在Subversion中使用。我在上面给出的链接中提到了一些简化工具,但我使用的工具是Christof Wollenhaupt的TwoFox实用程序-它将VFP项目转换为纯文本。我们必须手动运行它,但我对此没有任何问题。
http://www.foxpert.com/docs/cvs.en.htm
回答
我相信扩展名的随机大小写不是完全随机的。
我记得对此进行过测试。如果从项目经理修改程序。
通过单击"修改"按钮,可以说。然后保存扩展名是小写的更改。如果我们从命令窗口执行修改命令并保存更改,则扩展名是大写的。显然,Microsoft的编码人员不必担心扩展名相同。
回答
Windows确实支持区分大小写,但是我们必须通过Windows API在CreateFile上向其发送正确的POSIX标志!注册表项可能需要更改(SFU / Unix和Ultimate Windows 7工具已经设置了此注册表项,因此Windows支持区分大小写的文件名)。
Windows是基于Unix设计的,但是诸如Explorer.exe和其他程序之类的东西旨在禁止区分大小写,以实现向后兼容性和安全性(主要是在处理dos执行notepad.exe与NOTEPAD.EXE的情况下,其中大写字母是病毒或者恶意软件)。
但是Vista +具有安全属性,因此已过时。
TortiousSVN只是不支持在制作和重命名文件时传递posix标志。
回答
不,我们确定不能。除非我们以某种方式重写代码,否则SVN区分大小写...它是开源的。