2011-03-23 104 views
1

這是一個關於基本顛覆加上Eclipse工作過程的問題。顛覆和Eclipse使用

當我在我的Eclipse(Java)的項目檢查,第一次,

svnadmin create /home/jack/svnrepoz 
svn import myfolder file:///home/jack/svnrepoz/myfolder 

,然後進行結算,會有投訴。

svn checkout file:///home/jack/svnrepoz/myfolder myfolder 
Failed to add file: 'myfolder/.classpath': an unversioned file 
of the same name already exists. 

如何避免此錯誤?我想在結賬前刪除原來的項目,在這種情況下,我避免了這種投訴。未版本化的.classpath文件的後果是什麼?不幸的是,在下一次使用Eclipse時,程序變得困惑,需要我點擊F5才能「同步」項目中的每個文件。看來,Eclipse無法處理一個項目樹的情況,該項目樹已被刪除,並僅通過顛覆性檢出重建。 F5過程不僅枯燥乏味,因爲它必須爲每個.java文件完成,而且還要爲.properties文件完成,並且它似乎不支持.properties文件的F5(同步)。

任何洞察避免投訴在顛覆或Eclipse中正在尋求,因爲每個導致另一個問題。 (不,我暫時不想使用這個插件,我已經讀過它裏面有錯誤,看起來命令行應該足夠,更可靠。)

編輯:這是建議使用svn checkout --force。問題仍然是Eclipse在所有文件上仍然需要F5。我已經upvoted hardmath的評論,並會接受作爲答案,如果發佈爲一體。

+1

你是否從命令行嘗試過--force標誌/選項(用於svn checkout)?在這裏看到類似的問題:http://stackoverflow.com/questions/312491/force-an-svn-checkout-command-to-overwrite-current-files – hardmath 2011-03-23 14:12:48

回答

0

我決定用下面的過程從一個bash腳本中:

svn import --depth=files projectPath/src/pathToJavaSource 
svn import --depth=files projectPath/war 
svn import --depth=files projectPath/war/WEB-INF 

svn checkout --force --depth=files path 

svn commit --depth=files path 

的進口文件夾,因此它們批量導入,但我避免不加區別地導入整個Eclipse的樹。這三種選擇與源代碼相對應,我認爲與源代碼類似。強制選項處理「阻塞路徑」。深度選項是一種限制,可以避免版本化某些Eclipse文件夾和Eclipse插件文件夾。 Eclipse將要求在檢出文件上使用F5。

1

我會改變我的過程是這樣的:

要一次完成:

  1. 創建存儲庫
  2. 在存儲庫中創建一個目錄
  3. 檢出該目錄在源

存儲庫中沒有文件,因此沒有錯誤。

然後下面的命令:

  1. SVN添加/刪除你想下放置或從SVN
  2. 刪除提交更改

該工程進展順利,並將文件是反正你會什麼必須在正常的開發中使用,爲什麼不從一開始就應用這個過程。