2008-08-18 111 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區分大小寫,除非你以某種方式重寫代碼......它是的開源代碼。