2011-09-08 134 views
0

我們使用maven和svn。這是一個錯誤的檢查目標目錄到SVN導致此錯誤。我從庫中刪除目標:試圖忽略svn中的文件

svn delete -m "removing target folder" https://svn/svn/playground/denizatak/lrms-1.5-0_release_7/target/ 

Committed revision 19955. 

,並添加忽略關於目標屬性:

svn proplist -v 
Properties on '.': 
    svn:ignore : target 

然而,當我嘗試提交我得到這個消息的項目:

svn commit -m "licensing latest version - without target" 
svn: Commit failed (details follow): 
svn: Directory '/project/target/.svn' containing working copy admin area is missing 

當我檢查目標文件的狀態separetly我得到這個消息:

svn stat target 
svn: Directory 'target/.svn' containing working copy admin area is missing 

該項目的狀態爲:

svn st 
~  target 
M  some files 
M  pom.xml 

沒有人有這種情況下,任何建議嗎?

+0

你嘗試過「svn update」和/或「svn clean」嗎? –

+0

現在我嘗試了,但我從svn清理得到了這個結果:svn:'/ project/target'不是工作副本目錄 – lamostreta

回答

2

您是否嘗試從項目文件夾中刪除目標目錄?作爲預防措施,您可以先將它移到其他地方。

Subversion可能只是被目標似乎是工作副本(它有一個.svn子目錄)的一部分,但既不是您的資源庫中當前目錄的一部分(您刪除它)也沒有定義作爲svn:外部。

+0

工作正常!但是當我編譯我的項目和maven時,會發生什麼情況再次創建目標文件? – lamostreta

+1

正如你添加到svn:忽略不應該有進一步的問題。我認爲這種情況是因爲你在倉庫上而不是在工作副本上執行了svn delete。在以下svn更新中,目標文件夾未標記爲屬於您的工作副本,但未刪除。 –

+0

你是對的!非常感謝。 – lamostreta

0

您似乎已損壞或刪除您的.svn目錄,其中包含有關repo和本地目錄之間鏈接的信息。

首先嚐試'svn clean'來嘗試重建這個,可能是'svn update'以便從回購中獲取細節。如果失敗了,最簡單的方法(以及對錯誤信息給予我最大信心的方法)是簽出新的工作副本,然後將更改後的文件(而不是.svn目錄)複製到那裏。然後簽入。

我不確定關於svn st的結果,它意味着對象被改變了類型(例如,一個文件已經成爲一個目錄或類似的文件),我會期望它顯示一個D用於刪除,儘管我想你已經將一個屬性添加到不再是源代碼控制一部分的工作副本項目中,而這正是導致混淆的原因。我會將您的問題發佈到svn users mailing list以查看這種工作流是否被稱爲錯誤。

+0

我試過svn cleanup: svn cleanup〜/ project svn:'/ project/target'is不是工作副本目錄 我不確定使用更新。它用於更新工作副本並使其與存儲庫相等,對嗎?如果是這種情況,我不能使用它,因爲我已經對我的項目進行了修改,我不想放棄它們。 – lamostreta

+0

不,'svn update'將存儲庫更改合併到您當前的工作副本中。這並不會刪除你的修改('svn revert'會這麼做)。但是它也會從存儲庫中提取丟失的目錄和文件。所以如果你意外地刪除了一個完整的目錄或文件,svn update只是「修復」了wc。 –

+0

我明白了。我嘗試更新,但它返回:'代碼'svn更新 svn:工作副本'。'鎖定 svn:運行'svn cleanup'刪除鎖定(輸入'svn help cleanup'查看詳細信息)'code' – lamostreta