在我的倉庫,可以說我有這樣的:顛覆 - 檢出父目錄
Animal
Dog
Beagle
Hound
...
可以說,我檢查了狗到工作目錄,我意識到,哎呦,我真想檢出動物。
我可以刪除我的工作副本,狗目錄和結帳動物,但是我可以在不刪除並重新檢出的情況下這樣做嗎?
如果我的狗的工作副本有作爲父文件夾的動物,並且我沒有刪除狗的結帳動物,我得到類似「顛覆無法添加目錄版本相同的名稱已經存在」。
我也在用烏龜。謝謝。
在我的倉庫,可以說我有這樣的:顛覆 - 檢出父目錄
Animal
Dog
Beagle
Hound
...
可以說,我檢查了狗到工作目錄,我意識到,哎呦,我真想檢出動物。
我可以刪除我的工作副本,狗目錄和結帳動物,但是我可以在不刪除並重新檢出的情況下這樣做嗎?
如果我的狗的工作副本有作爲父文件夾的動物,並且我沒有刪除狗的結帳動物,我得到類似「顛覆無法添加目錄版本相同的名稱已經存在」。
我也在用烏龜。謝謝。
這是不可能的。
最簡單的方法是刪除您的工作副本並執行Animal
的新結帳。
如果在Dog
你想保留任何的變化,移動Dog
到一個臨時位置,結賬Animal
然後複製Dog
回Animal
目錄。
您正在尋找svn switch
,它會更新您的工作副本以反映新路徑。不過,修改後的文件不會被觸及。在TortoiseSVN中,右鍵單擊並從上下文菜單中選擇「切換...」。
svn switch
更常見的用例是在源自同一點的分支之間切換,以便您可以對相同的代碼擁有不同的視圖。但是您可以在存儲庫中的任意路徑之間切換。
我發現避免從svn服務器下載我的磁盤上已有的內容,然後使用--depth empty
完成更新或檢出。所以像這樣的東西:svn co --depth empty Animal ; cd Animal ; svn update --depth empty Dog
無論如何,這個想法是得到Dog
作爲目錄Animal/.svn/entries
。
這種「--depth empty
」不斷從網上下載的實際內容SVN,但SVN確實讓子目錄(在這種情況下,Dog
)和svn並把在Animal/.svn/entries
的Dog
子目錄中的條目。
然後用您已擁有的副本替換Dog子目錄。
你可以通過打開Dog
某個文件中的某個文件並在Animal
目錄中執行svn update
來檢查它的工作原理。重擊的文件應該從svn服務器上下載。
不起作用:那麼你得到'更新: 跳過‘樹幹’ - 的封閉工作拷貝發現 在修訂13370. 總結的衝突:「」 跳過路徑:1'這樣做的時候'SVN up'在'動物'中。 – 2018-01-26 09:56:45
過了很久,所以我不確定問題是什麼。 SVN應該製作動物和狗的目錄,不是嗎?所以應該沒有阻礙工作副本。 另一個想法是,SVN從'13開始已經改變了,所以這個技巧不再適用。 – 2018-01-27 10:53:37
是的,你可以映射父目錄。
爲此,您只需從「狗」(子)目錄中刪除.svn
目錄,然後在父目錄上執行SVN Update
。它會使現有文件爲Versioned
副本,並將從SVN服務器下載Dog
目錄的增量內容。
請注意:您應該具有精確的目錄結構作爲SVN目錄結構。
刪除並重新檢出時出現了什麼問題?如果您已經做出更改,請提交,然後重新開始。 – kajaco 2009-08-30 14:28:41
這不是問題。這就是我所做的,它的工作。只是想知道我是否有更好的方法,或者有更正確的方法來做到這一點。 – Steve 2009-08-30 14:39:31