這幾天試著用 SVK 看看能夠做什麼事情,其中一個簡單好用的功能是自己建立 local repository 自己用,但是不用像 subversion 另外架設 apache server 或是跑 svnserve。在 ports 裝完 svk 後,這是一些筆記內容:
$ svk mkdir //local/myproject
第一次跑的時候會告訴你 ~/.svk/local
不存在,問你是否要建立,選 yes 建立後就可以 checkout 這個目錄:
$ svk checkout //local/myproject myproject
svk checkout 的東西不像 svn 會有 .svn
的目錄,感覺乾淨多了。接下來就進入 myproject 目錄改東西加東西,改完就如同 svn 一樣,用 add 指令加進去:(當然你也可以用 import 這個指令)
$ svk add Makefile *.c
然後 commit:
$ svk commit
輸入 commit log 以後就塞進去了。
如果沒有 //local 的話,第一個指令應該是會失敗,因為連根都沒有
應該要先執行 svk mkdir //local 後才能在 //local 下開其他的目錄
我這邊測試的結果跟你說的相反。
真怪 :X
我是在 Ubuntu 下測試的,執行 svk help intro,有關 svk mirror 的部份,他也是要先打 svk mkdir //mirror 把根建立起來以後才能繼續執行
> 其中一個簡單好用的功能是自己建立 local repository 自己用,但是不用像 subversion 另外架設 apache server 或是跑 svnserve。
如果只是單純想讓 svn 使用 local repository 的話,只要先用 svnadmin create /home/repo (舉例)建立 local repository,再以絕對路徑 file:///home/repo/ 的方式讓 svn 指定 repository url 即可。
多人使用時 svk 這類 distributed version control 比傳統 cvs like 方便不少。比如說敝同事去大陸 support,一方面無法存取公司 VPN,另一方面想建立 local repository 等 code 穩定後再整合進 mainstream,傳統的 cvs / svn 很難達到這樣的效果。只是,換 version control system 的影響太大,所以……
居然忘了 file:/// 這個方法... thanks :o