2012-05-09 97 views
2

在辦公室搬遷過程中,我們的SVN服務器遭到了破壞,我們的管理員不考慮備份存儲庫,無論此舉如何。事實證明,在我們修復SVN服務器之前可能需要兩週時間(某些專有RAID的專用存儲設備需要發回供應商),但同時我們需要進行一些協作開發並我們的SVN組合知識有限。SVN倉庫的臨時分支

對我們來說最好的情況是,我們顯然會從我們的沙箱中創建一個新的存儲庫,並且當我們的服務器再次運行時,以這樣的方式合併兩個服務器,使得它像服務器永遠不會崩潰。這是可能的,如果是這樣,我們該如何實現?如果這是不可行的,我們有什麼選擇?

+0

我只想遠離代碼。當SVN啓動並再次運行時,請將最新的文件夾全部簽出到新文件夾中,用剛剛處理的本地文件覆蓋新檢出的文件,然後重新進行合併。它會檢測到發生了什麼變化。對於SVN來說,這與將原來來自結帳的文件進行工作並沒有什麼不同。我不建議嘗試追溯地嘗試告訴你的恢復的SVN倉庫,你正在工作的臨時環境被解釋爲當前的一個分支。 – Alain

+0

我們考慮過這樣做;這樣做的唯一問題是,從現在到SVN的所有變化都將被摧毀成一個單一的提交,但這可能是我們離開最好的選擇,因爲失去幾周的歷史比失去整個歷史更好的項目。謝謝回覆。 – Sanjeev

+0

我絕對看到你來自哪裏。在等待的時候能夠保持ChangeSets的某些傳真是很好的。 – Alain

回答

1

我會使用git作爲臨時源代碼控制系統。

以下步驟可以工作:

  • 使用git正常方式,而你的svn服務器脫機(guide
  • 當你的服務器恢復使用git svn fetch在你的svn回購拉。 more info
  • 然後git rebase git提交你在git倉庫的svn分支之上做的事情。
  • 然後推回的svn服務器git svn dcommit

注意git svn不支持svn:externals