第一次寫博客,先貼一個前幾天解決的問題吧。
公司成立沒多久,新進的服務器,現在要把以前寫的代碼上傳到服務器的 SVN 上。這時就有了兩個選擇,第一呢是可以直接把代碼上傳到 svn 上,相當於新的項目;第二是把以前的svn庫遷移到服務器上去,這樣可以保存以前的提交記錄。
選第一種沒什么說的,我們選擇了第二種。當然就有些麻煩了,於是先在百度經驗上看到了篇文章,地址是:http://jingyan.baidu.com/article/e73e26c0a8377424adb6a706.html ,這篇文章主要講的是怎么把SVN庫中的數據整個遷移過去。基本思路是先導出一個 dump 文件,然后再在另一個 svn 上將導出的文件進行導入即可。我在本地搭建了一個 svn 服務器,經測試好使。
然后又碰見一個問題,就是源 svn 的目錄結構和服務器上的目錄結構不一致。這可就蛋疼了,於是又進行百度。看了一些文章感覺都是泛泛而談沒什么作用,終於黃天不負有心人,讓我找到了這篇文章:http://www.cnblogs.com/zikai/p/5142590.html 。也是咱大博客園的文章,基本的思路是:先把源 svn 的記錄導出到一個 dump 文件中;然后在服務端使用 svndumpfilter 命令把需要的內容進行過濾;再把生成的 dump 文件導入到目的 svn 中;最后再使用命令進行路徑的調整。這樣就可以保留本來的提交記錄了。但是在實施的過程中,最后一個進行目錄調整的命令: “svn mv /path/to/reposB/dirAA/dirB/code/ /path/to/reposB/dirAA/” 不識別。條條大路通羅馬,不能在一棵樹上吊死不是。不就是移動目錄嘛,TortoiseSVN (俗稱小烏龜)也是可以的。步驟也很簡單,就是連接上目的 svn 之后,直接拖動目錄就可以了。
至此,svn庫不同目錄的遷移終於算是完成了。
