我有一個存儲庫被移動,路徑被重命名,然後日誌被截斷。所以我沒有老路。當我嘗試做svn切換https://new.repo/new/path svn抱怨「無法從內部替換目錄」。我如何避免這種情況?SVN:從不存在的路徑切換?
P.S.重新創建舊路不是一種選擇。從新位置
我有一個存儲庫被移動,路徑被重命名,然後日誌被截斷。所以我沒有老路。當我嘗試做svn切換https://new.repo/new/path svn抱怨「無法從內部替換目錄」。我如何避免這種情況?SVN:從不存在的路徑切換?
P.S.重新創建舊路不是一種選擇。從新位置
如果它仍然是相同的回購,而這只是路徑回購所更改,那麼你應該傳遞--relocate
選項爲svn switch
。這有幫助嗎?
即
svn switch --relocate https://new.repo/new/path
(警告:如果它是不一樣的回購,然後使用--relocate
將打破東西)
1.其不同的回購。 2.移居說:「SVN:重新定位只能改變URL中的版本庫部分」 – Daniel
沒有辦法切換到完全不同的回購。你的意思是它曾經是相同的回購協議,但它在新版本中有所改變?如果是這樣,那麼你應該首先重新定位到//new.repo/old/path,然後切換到//new.repo/new/path。如果它是完全不同的回購,那麼你必須從頭開始檢查它。 – Dialecticus
問題得到解決。我創建了一個在所有.svn /條目中更改路徑的腳本。一切正常。
嗯,已經解決,但
svn --relocate https://old.repo/old/path https://new.repo/new/path
應該做的伎倆很好
我有同樣的問題,並沒有能夠得到它與任一「開關」工作或「切換--relocate 」。正如原來的問題所述,我得到了錯誤「不能從內部替換目錄」與前者和後者「重定位只能更改URL的存儲庫部分」
因爲我在CentOS上,所以能夠通過從我的工作目錄的根目錄運行以下命令,使用sed手動更新.svn/entries文件中的網址:
find . -type f -name entries -exec sed "s/old\/path/new\/path/" -i {} \;
幾乎和我一樣:) – Daniel
截斷日誌意味着什麼? – Dialecticus
這是否解決了這個問題:http://stackoverflow.com/q/115281/395718 – Dialecticus