前言
俗話說,分久必合,合久必分。SVN有合并庫,那麼就必定有分離庫。
在網上看了一些文章,說的有點模糊,對一些細節沒有說明。
下面我們繼續從需求來說。
匯出
上講說到按照部門來分類,可是這樣時間久了,發現有些不合適,我又想把每個部門的項目做為一個單獨的庫。
現在需要做的第一步,相信聰明的你已經猜到了,那就是將部門1這個庫匯出。
svnadmin dump E:\Repositories\部門1 > F:\部門1.dump
對上面這個命令,如果有什麼不明白的,看上篇。
分離
我搜到的資料說在windows下,用type這個命令對分離出來的這個庫進行過濾。就是對匯出的檔案進行操作,具體命令是這樣的:
type F:\部門1.dump | svndumpfilter include 項目 > F:\項目.dump
說明:這樣,就從部門庫中,將項目給提取出來了。
現在就出現問題了,我建立了一個叫做項目的庫,我將過濾出來的這個檔案匯入後,發現,項目這個根目錄還存在,而不是將專案檔夾下的檔案匯入到項目庫中,
那麼這個問題怎麼解決呢?
網上給的文檔說明都很模糊,我給大家一個圖片來進行說明網上給的這句話的意思:將關於建立項目這個檔案夾的語句刪除。
用word開啟項目.dump檔案,然後尋找“項目”。選編碼時,記著用utf-8,不然可能漢字會是亂碼。至於刪除什麼,大家去網上找一下就可以了。不幸的是,我在做Demo時成功的例子被我刪了,剛才做例子,一直沒弄出來。
匯入
接下來,又是一個匯入的句子:svnadmin load E:\Repositories\項目 < F:\項目.dump
由於我改轉隱藏檔沒有成功,結果是這樣的:項目/項目/項目1,而不是想像中的:項目/項目1.所以求大蝦給講解一下那個轉隱藏檔到底應該刪什麼。。。
不過呢,事情總會有解決的方法,既然已經到了一個庫裡,那麼我們就可以採用move這個方法了。不過這個比較麻煩!!!我就不寫move的用法了,自己百度一下哈~~
經過這一段時間維護SVN,徹徹底底的感覺到自己對SVN的瞭解是那麼的狹隘。
建議
在這也真誠的想說一下,拿到一個解決方案,希望大家都以自己的例子實現後,用自己的例子發。就關於《SVN版本庫無損遷移與自動備份》,有多少部落格是一模一樣的啊。。這讓我想找個不一樣的,很難啊。
文章可以寫的不好,但一定要有自己的東西