初始
1.下載SVK
注意: 如果本機有安裝oracle 或環境變數中有PERL5LIB需拿掉或更名。這是perl會讀取的。Oracle會將這個變數指到oracle的perl,可能與svk下載的版本不合。
注意: path中必須包含. 路徑。
2.將目前的資料與server同步。該commit的 commit、該update的update。
3.將原本的檔案保留一份下來。
4.指行dos 指令:
svk depot –i說明: 初始化svk的depot資料。depot是alias。全名是depotmap。Svk會在"C:\Documents and Settings\當前用戶名\.svk\Local建立reponsitory。可以用depot –relocate重新指定。
可以使用下列指令看更多說明:
svk help commands說明: 建立目錄。
svk help depotmap
svk help depot
svk mkdir //mirror -m "Mkdir mirror"
svk mirror svn://SVNSERVER //mirror/project # project目錄會自動建立5.建新目錄/刪除原本SVN中所有的svn設定檔。反正要一個不受原本SVN控管的目錄。如果原本沒有使用SVN那只要新建一個就可以了。假設是svn。
svk sync //mirror/project # 將SVNERVER的資料同步到//mirror中
svk mkdir //local
svk cp //mirror/ project //local/ project # project目錄會自動建立
D:\mydoc\svn>6.進到目錄。進行checkout動作。這裡checkout與CC或perforce中的checkout意義不同。
svk co //my/local
7.下一步比較麻煩。如果你是即有系統的話,需要將原本在local上卻不在SVN上的一些檔案,例如設定檔從備份檔一個一個轉過來。
8.到此已經有一份workarea可供修改。
日常使用
1.更新
A.更新檔案至最新版本。
svk sync —allB.使用pull 指令可一次進行更新、merge。我建議使用這個,因為只要下一次只令即可。
svk update
svk pull -a2.如果有衝突的話,解決衝突。解決完後,要告訴SVK已經解決完。
svk resolved local/License.txt3.commit code到local。注意一定要到local目錄。
svk commit –C我建議先使用-C參數檢查是commit的檔案,或是在commit時不要直接加-m log訊息,以彈出文字可,一來可確定各檔案控管的狀態(在我的經驗裡,有時候有些檔案的狀態會是【?】,我建議在此時可手動將狀態改成適當的狀態);二來是可決定那些檔案要不要列入控管。
svk commit
4.將local brach的異動上傳到repository 上。注意;SVK有自己的版本編號。SVK的版本隨著depot的異動而改變;不是SVN的repository。
svk pushpush其實是smerge –If的wrap指令。也就是說,在以前(不使用push)的情況下,也可以使用smerge指令,將異動上傳到repository。當merge 由local branch 版本至mirror時,SVK也同將//mirro上的資訊上傳到repository上。
svk smerge //local //mirror