這個(gè)錯(cuò)誤信息通常在你更新工作拷貝時(shí)出現(xiàn),可能的原因有兩個(gè):
- 版本庫(kù)中有兩個(gè)文件的名字只是大小寫不同,這在Windows下是不允許簽出的,因?yàn)閃indows的文件系統(tǒng)是大小寫不敏感的。很可能其中一個(gè)文件是誤添加的,所以你要找出是哪一個(gè),然后刪除它,以確保不會(huì)把更改提交到錯(cuò)誤的文件。
- 某個(gè)文件的文件名是非法的(對(duì)Windows來說非法),比如,"con", "lpr", "com"都是非法的,因?yàn)檫@些都是設(shè)備名。當(dāng)然,含有"/\*?:|"和其它特殊字符在Windows(NTFS 和 FAT)也是不允許的。
是,我們知道這個(gè)錯(cuò)誤信息對(duì)解決問題沒什么實(shí)質(zhì)性的幫助,但這個(gè)錯(cuò)誤信息是來自Subversion庫(kù)的,我們改不了。
有幾個(gè)辦法可以避免這個(gè)問題:
Subversion 是針對(duì)大小寫敏感的文件系統(tǒng)(比如 Linux )設(shè)計(jì)的,這在大小寫不敏感的Windows下有時(shí)就會(huì)有問題。一個(gè)典型的例子是,重命名文件時(shí),如果文件名僅有大小寫不一樣,如Makefile改成 MAKEFILE。在工作拷貝中要這么干就有困難,因?yàn)镾ubversion在很短的一瞬間內(nèi)需要讓這兩個(gè)名字并存,而Windows沒辦法支持。
目前為止最簡(jiǎn)單的方法是用版本庫(kù)瀏覽器來重命名:
- 提交工作拷貝中的更改。
- 在版本庫(kù)瀏覽器中將文件名由UPPERcase改為upperCASE。
- 更新你的工作拷貝。