Subversion v1.7 開始只用一個 .svn 目錄來管理工作複本

有一段時間沒使用 Subversion 了。最近從 CodePlex 取出一個開放原始碼專案,發現一個令人驚喜的改變:原本每個資料夾底下都有的 .svn 隱藏目錄,現在已經跟 Git 一樣,只剩下一個了。

原來,自從 Subversion 1.7 版開始,工作複本(working copy)中的 .svn 結構已經改變,變成只有根目錄底下會有一個 .svn 資料夾,其他子目錄都不會有。

根據 Subversion 1.7 的發行紀事,這個唯一的 .svn 資料夾裡面是採用 SQLite 資料庫的格式來儲存整個工作複本的所有 metadata。

要注意的是,當 Subversion 正在存取工作複本時(例如 commit 或 update),不要又一邊去手動複製你的工作複本,否則那個複製出來新工作複本可能不完整。

升級舊版的工作複本

若要升級 Subversion v1.6 或更早版本的工作複本,可以使用 svn upgrade 命令。保險起見,可以先用 svn cleanup 確保工作複本完整無誤之後再升級。

要是升級失敗,也可以用 svn checkout 直接取出最新的工作複本。

Post Comments

技術提供:Blogger.