2009-10-04 50 views
6

我即將將SVN服務器從版本1.5.5升級到1.6.5 - 實際升級時一切正常,但我對升級實際存儲庫感到困惑。將Subversion服務器從1.5.5升級到1.6.5 - dump/upgrade/reload,確切步驟?

我讀過在少數地方(herehere),它是更好地傾倒和重載存儲庫,而不是使用svnadmin upgrade。我認爲我應該轉儲,升級服務器,然後加載轉儲 - 但是,我應該加載之前清除舊的文件從存儲庫中?如果是這樣,那麼做到這一點的最好方法是什麼?

如果說,以前我徹底搞砸了我的版本控制系統,有人可以給我一個快速一步一步,這將是非常有益的!

乾杯, 馬克

回答

10

有在Subversion常見問題一quick step-by-step

  1. 關閉的svnserve,Apache和其他任何可能訪問該存儲庫。
  2. svnadmin dump /path/to/repository > dumpfile.txt,使用svnadmin的版本X.
  3. mv /path/to/repository /path/to/saved-old-repository
  4. 現在升級到Subversion Y(即構建和安裝Y,替換X)。
  5. svnadmin create /path/to/repository,使用svnadmin的Y版本。
  6. svnadmin load /path/to/repository < dumpfile.txt,再次使用svnadmin的Y版本。
  7. 將鉤子腳本等從舊倉庫複製到新倉庫。
  8. 重啓svnserve的,阿帕奇等

more details on dumping and loading在Subversion書。我假設你研究了subversion 1.6 release notes

+0

是的,我檢查了發行說明 - 謝謝,但這正是我一直在尋找。 – 2009-10-04 11:39:35

+1

小心,那些垃圾堆很大。你可以在svn dump中使用--deltas選項,這會稍微減少你的轉儲文件的大小。雖然速度較慢,或者您可以在飛行中(沒有--deltas)gzip轉儲,這將更加高效。 – RedGlyph 2009-10-04 12:17:32

+0

注意到 - 謝謝! – 2009-10-09 17:03:09

1

如果你打算這樣做,那麼這樣你可能要轉儲,升級,刪除,然後重新回購加載回。

我不能說我只是用升級,雖然曾經有過的任何問題,雖然你可以用低最優回購結構告終。

+0

那麼,你會建議我不如使用升級? – 2009-10-04 11:24:50

+0

除非這是一個特別大或複雜的回購,這是我會做的。轉儲和裝載可能需要很長時間。 – 2009-10-04 11:30:29

+0

我同意。但是,您應該確保在升級之前有備份。轉儲是創建備份的一種方式。 – sbi 2009-10-04 11:48:21

4

不,你不需要轉儲/加載升級,1.6是專門設計只使用svnadmin upgrade是一件容易的升級。我已經做到了,它工作,我很高興。

release notes明確地說,沒有必要轉儲/加載回購。

我會做一個備份反正(以防萬一),然後執行建議的升級。然後,我會打包回購文件(svadmin pack),以便將來備份更快,SVN執行速度更快。

+0

發行說明還說(http://subversion.tigris.org/svn_1.6_releasenotes.html#bdb-forward-deltas):「如果您想實現較舊的[BDB]存儲庫的最優化狀態,您仍然需要執行存儲庫的轉儲和加載。「也看到問題中的鏈接。 – 2009-10-09 17:27:36

+0

沒有人應該使用BDB回購。如果你這樣做,你仍然需要轉儲和加載回購....進入一個FSFS的:) – gbjbaanb 2009-10-10 14:08:12

相關問題