2014-06-15 41 views
1

我是SVN的新手,對刪除有疑問。我有兩個相同代碼的工作副本。副本1位於~/code/wrkingcpy/,副本2位於~/Documents/MATLAB/mfiles/wrkingcpy/。如何安全刪除副本1而不安排刪除操作。SVN:我有相同工作副本的多個副本。如何刪除一個,而無需在存儲庫中安排刪除操作?

當我運行SVN commit它是否只提交我所在的工作副本或是否立即提交本地主機上的所有工作副本?我是否可以刪除包含wrkingcopy(副本1)的整個代碼文件夾,然後永遠不會在副本文件夾內從不提交該副本?

對不起,繞口令,可能很混亂。我想我的主要問題是當提交它遞歸地工作,它會刪除我的存儲庫版本或不?我想避免這種情況。也許甚至有另一種方法來重新說明這個問題,我如何在沒有svn commit的情況下永久刪除SVN的工作副本。

非常感謝你們對2014年父親節的幫助和祝福,感謝那些英雄的到來。

〜丹

+0

也許你會嘗試閱讀至少從SVN書的基礎? –

+0

@LazyBadger如果你不熟悉版本控制,這是一個很好的問題。 SVN書籍從來沒有說明如果你有多個工作副本會發生什麼,以及如果你刪除了一個工作副本而沒有提交更改。版本控制對於外行人來說是一個奇怪的概念。 –

回答

2

每個工作副本是一個單獨的工作副本,是獨立的。我很多次都會有多份工作副本 - 每一份都會處理一個特定的問題。 Subversion不會跟蹤工作副本。如果你做結賬,然後刪除工作副本,Subversion不關心。

如果您不需要兩個工作副本,只需刪除一個(使用操作系統的刪除而不是svn delete)。例如,在Windows上,使用rd /s/q命令刪除工作目錄root。在Unix/Linux/Mac上,使用rm -rf

更改一次只能在一個工作副本中提交。每一個(如我前面所述)是完全分開的。因此,對一個工作副本進行更改不會影響另一個工作副本。

除了我躺在只是有點那裏...

當你提交一個工作副本的變化,其他的工作副本將不再是在最新修訂版(廢話!)。如果我想在其他工作副本中進行更改,則必須執行svn update至最新修訂版,這將包含我在其他工作副本中所做的更改。如果你和一位開發人員在同一個分支上籤出同一個項目,這也不會有什麼不同。您的開發人員進行提交,直到您更新並進行更改才能提交。

希望這回答你的問題。

+0

感謝您的解釋@大衛W.我認爲這是更清楚的事情。 所以,如果我不需要的工作副本是'〜/ Wrkingcopy',我刪除它。然後我在'〜/'中鍵入SVN更新。它會重新生成'〜/ Wrkingcopy'嗎? –

+0

沒有。因爲'〜/'根本就不是工作拷貝。如果你嘗試做除了「結賬」之外的任何事情,SVN應該會失敗並顯示錯誤消息。 – Ben

+0

不可以。如果你查看'〜/ Workingcopy'目錄,你會看到一個名爲'.svn'的子目錄。這是Subversion的祕密。這個目錄包含工作目錄需要知道的關於它與Subversion服務器連接的信息。在這個目錄裏面是Subversion的URL,修訂版本號,修改了哪些文件等等。你刪除這個目錄,你不再有工作目錄。在Subversion中,工作目錄指向服務器而不是其他方式。服務器不會跟蹤工作目錄。 –

相關問題