2010-08-11 40 views
0

所以很多迂腐的意見,而不是對this question的答案。我可以從svn歷史記錄中銷燬一個僅區分大小寫的目錄嗎?

我們有一對java程序包在初始大寫時被意外檢入。 (com.foo.PackageName),然後正確地重命名它們(com.foo.packagename)。請允許我在閱讀一些答覆的基礎上重申。我們有一個現有的「com.foo.packagename」,需要堅持。我們曾經有一個「com.foo.PackageName」,我們將其重命名爲「com.foo.packagename」。

我們的svn服務器位於一個Linux盒子上,並且區分大小寫的文件系統。我們使用「保護病毒」文件系統開發Mac。我的命令行svn客戶端似乎已經處理了這個問題,並沒有提到任何關於com.foo.PackageName中的文件。內置於netbeans中的svn客戶端似乎認爲在過去被大寫的兩個目錄中存在「未知」狀態的ghost文件。

我猜測解決方案是讓svn服務器認爲這些目錄從來沒有存在....或者也許有其他解決方案?他們在錯誤的名字下如此曇花一現,當錯誤地命名時,在他們的內容上丟失歷史將不成問題。複製文件,從svn刪除目錄,然後重新添加它們對我們沒有任何幫助。另外,rm -Rf在我的本地副本上,然後做一個新鮮的svn co仍然顯示鬼目錄。

這樣做的主要問題在於我無法在項目級別進行提交,或者它嘗試提交ghost文件和怪胎,所以我必須給它一組特定的文件以提交或跳轉到命令行。

回答

0

在區分大小寫的o.s.的「Packagename」目錄上嘗試使用svn delete --force。然後進行此更改。

1

首先來看看目前什麼在你的資料庫:

svn ls http://server/svn... 

如果com.foo.PackageName仍然在那裏與

svn rm http://server/svn.../com.foo.PackageName 

刪除它之後,你有你的資料庫,以便我會建議你重新檢查你的工作副本。

+0

com/foo/PackageName不見了。 com/foo/packagename就在那裏。這是我們想要的。但是歷史知道曾經有一個com/foo/PackageName。哪些在區分大小寫的文件系統上不會成爲問題。 – 2010-08-11 21:17:24

+1

除非您簽出「PackageName」仍然存在的修訂版本,否則不會導致任何問題。如果你有包含「PackageName」的標籤/分支,你也應該修正它們。 – laktak 2010-08-12 05:55:31

相關問題