Subversion 1.2.x 升級 Berkeley DB 4.3 步驟
根據官方說法,Subversion 1.1.x 升級至 1.2.x, 檔案庫的 Berkeley DB 的存取方式也必須由 4.2.52 升級至 4.3.27。
由於 TortoiseSVN 1.2.0 開始也以 Subversion 1.2.0 為基礎來存取檔案庫,因此在未升級的狀況下存取檔案庫時就會出現以下訊息:
DB_VERSION_MISMATCH:
Database environment version mismatch
bdb: Program version 4.3 doesn't match environment version
因此想用新版 TortoiseSVN 也必須強迫升級至 Subversion 1.2.x 了。
升級前首先要注意,必須先用 Subverion 1.1.x 完成以下的步驟再升級 1.2.x。
(也就是不要先裝 Subversion 1.2.x)
更新前準備:
必須確定所有的協定都目前都沒有在存取檔案庫 (Repository),如 http:// 、file:// 等。
(1)備份檔案庫。
可以使用 Dump 匯出:
svnadmin dump /path/to/repository > dumpfile
或是直接備份 /path/to/repository
(2)復原檔案庫。
svnadmin recover /path/to/repository
(3)刪除未使用的記錄檔
svnadmin list-unused-dblogs /path/to/repeository
指令下達後,列出可刪除的記錄檔案(檔名為 log.xxx 一般只需保留最後一個即可)。
所有列出這些檔案必須手動刪除。
(4)刪除所有的共享記憶體的檔案
也就是刪除 /path/to/repeository/db/__db.*
完成以上步驟後,就可以升級 Subversion 至 1.2.x 了。
註: 我的習慣是先備份再動作,所以跟官方文件 (2) 跟 (1) 是反過來的。