2008-08-18 112 views
24

我一直在使用Subversion进行代码控制,TortoiseSVN在过去的几个月里与服务器进行交互,并且总体来说它一直很棒!但是,有时我的FoxPro IDE将改变文件扩展名的情况下没有警告,其中“program.prg”变成了“程序。PRG”)的TortoiseSVN显然借此意味着第一个文件已被删除,成为标记为“失踪”,第二个名字成为“非版本化”,对我追踪文件更改的能力造成严重破坏。据我所知,Subversion起源于* nix的区分大小写的世界,但是,在Windows中使用Subversion或TortoiseSVN时,是否有任何方法可以控制此行为,以便文件名不区分大小写?我可以在Windows上对Subversion + TortoiseSVN区分大小写吗?

+0

为什么你不能只将所有这些文件重命名为.PRG然后一劳永逸?或者将FoxPro随机更改为小写? – 2008-08-22 13:27:23

回答

20

不幸的是,Subversion是区分大小写的。这是因为可以在区分大小写的文件系统(例如* nix)和不区分大小写的文件系统(例如Windows,Mac)上检出Subversion的文件。

This pre-commit hook script可以帮助您避免的问题,当你在检查文件。如果它不能解决您的问题,我最好的建议是编写一个小脚本,以确保所有扩展名都是小写字母,并在您入住/退房前每次运行它。这将是一个PITA,但也许你最好的选择。

+1

TortoiseSVN有个案调整功能。如果TSVN检测到工作副本中的文件名仅在重名时被重命名,则它将恢复文件中的情况。 (命令行SVN工具不这样做。) – 2009-10-01 14:19:31

+0

该脚本没有找到文件,但是正确的文件被作者Stefan在这里引用; http://stackoverflow.com/questions/5393395/why-svn-import-option-fails-to-detect-file-duplicatio – AnneTheAgile 2012-10-11 22:23:40

2

我使用VFP的TortoiseSVN,它大多无缝处理案件翻转。唯一不是当我尝试执行提交时在IDE中打开文件的情况下:文件锁定VFP会使其混淆。这是你的问题出现在哪里,还是有其他问题?

去年,我在FoxForward做了关于在Subversion中使用VFP的演示文稿:大部分演示文稿都是关于命令行的,但最后有几个幻灯片,它们有工具链接,可帮助您使用Subversion VFP。 http://docs.google.com/Presentation?id=dfxkh6x4_3ghnqc4

+0

感谢您的见解! VFP的二进制处理过的表格,表单等在SVN中是一项挑战。 – 2008-09-11 20:14:01

+0

VFP = Visual FoxPro – AnneTheAgile 2012-10-11 21:52:47

1

套件,你上面VFP的基于二进制的源文件发表评论是艰难的颠覆与合作。我上面给出的链接提到了一些工具来使它更容易,但我使用的工具是Christof Wollenhaupt的TwoFox实用程序 - 它将VFP项目转换为纯文本。你必须手动运行它,但我没有问题。

http://www.foxpert.com/docs/cvs.en.htm

2

我相信在扩展随机大写和小写是不是随机的。我记得在这方面进行了测试。如果您从项目经理修改程序。 通过点击修改按钮让我们说。然后保存更改的扩展名为小写。如果您从命令窗口执行修改命令并保存更改,则扩展名为大写。显然,微软的编码人员并不担心扩展案例是一样的。

4

Windows不支持区分大小写,但您必须从Windows API向CreateFile发送正确的POSIX标志!可能需要更改注册表项(SFU/Tools for Unix和Ultimate Windows 7已将此注册表项设置为使Windows支持区分大小写的文件名)。

Windows是基于Unix而设计的,但诸如Explorer.exe和其他程序的设计旨在禁止区分大小写以实现向后兼容性和安全性(主要是在处理执行notepad.exe与NOTEPAD.EXE的dos时,其中所有caps是病毒或恶意软件)。

但是Vista +具有使其过时的安全属性。

TortiousSVN不支持在制作和重命名文件时传递此posix标志。

0

不,你确定不能。 SVN区分大小写,除非你以某种方式重写代码......它是的开源代码。