2008-09-11 38 views
3

我們在Windows上使用Subversion時遇到了問題。一名開發人員犯下了一個文件foo.Data.sql,後來另一名開發人員犯下了一個名爲foo.data.sql的文件。當然,這會在Windows客戶端(所有客戶端在我們的環境中都是Windows)上造成問題,因爲文件在Subversion中區分大小寫,而在Windows中不區分大小寫。防止Subversion中的文件套管問題

我們成功通過直接在資源庫中刪除一個文件來解決這個問題,但我仍然有兩個問題:

  1. 怎麼可能對一個開發者使用Windows客戶端做到這一點?他是否有無效的工作副本,或客戶端中是否存在錯誤(TortoiseSVN)?
  2. 我們應該如何防止像這樣的變化進入庫(即任何人都寫了一個鉤子腳本來執行文件套管問題的健全性檢查)?

回答

0

1;這是可能的,因爲這兩個文件來自兩個開發人員。一種是使用不同的情況重命名或創建文件,並且在提交期間沒有意識到它將是一個添加而不是提交更改。

2;檢查TortoiseSVN FAQ

2

在Windows上,文件不區分大小寫,但是保留大小寫。您可以重命名文件,更改大小寫,Windows將保留更改。 Subversion嘗試創建第二個文件時會發生該問題。 Windows報告該文件已存在。

如果您想將兩個文件合併到一個副本中,而不是刪除存儲庫中的文件,可以重命名存儲庫中的壞文件(即附加一個後綴,如'.temp'),更新客戶端,合併到好文件中,然後刪除壞文件。