2009-07-21 86 views
1

如何在我的SVN倉庫中進行一系列提交併將它們合併?如何結合SVN提交?

例如,修訂版本4-10存在於存儲庫中,我想將它們合併到一個新的修訂版本4中,該修訂版本包含前面的4-10中的所有更改。

我不想打破任何現有的標籤,這是通過svn副本創建的。

這是因爲存儲庫以前是在ClearCase中,而Polarion的遷移工具留下了大量需要清理的單個文件提交。

+6

你爲什麼想這樣做?你想做什麼?有可能有更好的方式去做任何你真正想做的事情。 – 2009-07-21 15:25:28

+0

這是哪個組合的優點,哪個目的? – Matthieu 2009-07-21 15:28:03

+1

這是因爲repo以前是清晰的,並且polarion的遷移工具留下了大量需要清理的單個文件提交。 – 2009-07-21 15:29:18

回答

4

您可以創建在版本3的分支和合並修訂4-10進入分支

2

在行之間閱讀,看看svk,它應該允許您運行本地存儲庫,然後一次向主存儲庫提交一些更改。

1

如果不創建新的存儲庫,您無法做到這一點,所以更好的辦法就是克服它。

如果你真的需要這樣做,你可以用「svnadmin dump」和「svnadmin load」來完成。

編輯:如果你只是想推提交了後備箱的歷史,但罰款與他們在倉庫其他地方的剩餘然後類似馬努的建議是一個可行的解決方案:重命名樹幹old_trunk,複製在要合併到trunk的範圍之前進行修訂,然後合併範圍內的修訂並提交。

1

如果你真的需要做到這一點,然後從ClearCase的手動簽出每個版本(不是單文件提交),然後使用WinMerge之類的工具將文件複製到新的SVN結帳中,以確保所有文件添加和刪除都被複制以及更改。然後做一個SVN提交。

如果由於ClearCase提交數量太多而導致手動工作量過大(儘管您可能會自動執行該操作而沒有太多困難),那麼可以考慮手動對SVN進行主要修訂(例如,點發布)。

如果這樣做不可行,那麼考慮不要從ClearCase中引入任何修訂歷史 - 只需從SVN開始。也許爲了歷史目的而使用來自ClearCase的舊更改日誌提交文本文件,以便如果有人需要返回並獲取一些舊代碼,則可以確定要查找的修訂版本。