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