2016-11-22 54 views
0

「有人」 已提取我可以在顛覆中重新連接不正確提取庫的歷史記錄嗎?

/giant-repo/trunk/sublib 

/fancyname/trunk 

某些目錄和文件被複制或正確地移動,使用svn cpsvn mv,從而保持歷史。

在從原始位置(即未版本化)複製文件內容之前,其他文件和目錄都是新構建的(從sublibfancyname的同形模重新編輯)。

我所看到的是:

~/work/fancyname> svn log -r 1234 --verbose 
... 
    A /fancyname/trunk/foo.txt 
    A /fancyname/trunk/bar.txt (from /giant-repo/trunk/sublib/bar.txt:950) 
... 

共有約140文件,以及100次的提交到/fancyname/trunk目前是。

有沒有辦法告訴顛覆foo.txt,那是在r1234中加入的,真的應該是sublib/foo.txt:950的副本嗎?

如果沒有(並且我懷疑是這種情況),那我該如何破解它? 我想象一下在新的repo中沒有任何提交的文件,最簡單的解決方案是刪除新文件(是否存在一個「超級」還原,從存儲庫還原添加?),然後發出一個正確的svn cp

對於新回購中有變化的文件,有沒有辦法「醃製」這些更改,正確複製文件,然後重新應用更改?

回答

2

你不能在SVN中修改歷史記錄(沒有傾銷回購和修改轉儲文件,這是沉重和繁瑣的工作)。

所以最簡單的(不正確的!)的方法是

svn rename foo.txt foo_wrong.txt,然後

svn copy [email protected] foo.txt(現提交)

本已修好你的foo.txt的歷史從現在開始。版本歷史之間的時間已中斷。你不能用svn客戶端修復它。

相關問題