我將第三方項目提交到我自己的svn倉庫中。現在,我得到了該項目的新版本,並希望將其替換到我的存儲庫中。將未版本控制的目錄結構合併到SVN倉庫中
該項目是相當大的(1.2GB),新版本有新的文件/目錄和刪除的文件/目錄。
平凡解是
svn rm project
mv /path/to/new/project .
svn add project
svn ci
不過,我失去了歷史的一切。此外,svn服務器將無法使用增量壓縮(是的,服務器空間確實很重要)。
另一種方法是隻覆蓋工作目錄中的所有文件,然後提交它。但是,刪除的文件仍保留在存儲庫中。 svn add --force *
也「忘記」添加一些文件。
提交新版本的其他可能性有哪些?這是一個不尋常的用例,因此沒有內置的支持嗎? (帶烏龜SVN我倒是惹.svn
文件夾左右,龜提供刪除丟失在提交對話框的文件/文件夾,但在命令行版本的拒絕承諾如果遇到文件/文件夾使用svn rm
未刪除)
額外1:如何避免我的存儲庫中的更改被覆蓋? (目前只有少數,所以重新應用是目前可以接受的)
額外2:我替換爲目的地的複製所有符號鏈接(爲了擺脫special status changed
錯誤的)。如何避免這種情況?
額外3:如何應對重命名的文件/目錄?由於我只是在沒有更改歷史的情況下獲得新版本,因此無法自動確定這些新版本。 svn mv
提交之前?
謝謝!然而,與此同時,我切換到允許這種更新的'git'('git -A') – Meinersbur 2010-11-03 19:30:24
svn2svn專門用於windows(OP在UNIX上要求一個工具)。 – 2011-04-20 06:06:27