[Linux] Debian GNU/Linux 等に関する Unix 系の設定メモ

svk の使い方まとめ

Last Update: 2007--1-1- (Sat) 06: 1

svk:merge が気持ち悪くて svk 使ってなかったけど、パソコン持ち運ぶようになったし、mirror に直接コミットすると svk:merge 付かないっぽいので svk 使う事にしました。

使い方のメモ。

* リポジトリの構成

典型的な構成。

file:///PROJECT/
   /trunk, /branches, /tags

* ミラー作成

svk mirror file:///PROJECT //mirror/PROJECT
svk sync //mirror/PROJECT

リポジトリがでかい場合は、ヘッドのみ sync したりするのが良い。

svk sync -s HEAD //mirror/PROJECT

* trunk での作業

mirror をチェックアウトしてそこで作業すると、素の svn と同じように使える。データがローカルにあるので、diff の参照なんかは早い。svk:merge も付かない。幸せ。

チェックアウト

svk co //mirror/PROJECT/trunk PROJECT

コミット

svk commit

更新

svk update -s

* branch を作って作業

branch での作業も trunk とほぼ一緒。マージが入ってくるくらいだけど smerge が全部やってくれるので、svn のようにマージ元のリビジョンがどうのと悩む必要がなさそう。smerge の時に svk:merge が付く。

branch 作成

svk copy //mirror/PROJECT/trunk //mirror/PROJECT/branches/ore

チェックアウト

svk co //mirror/PROJECT/branches/ore

trunk の変更を手元にマージ (smerge to .)

svk smerge -st .
svk commit

もしくは

svk smerge -st //mirror/PROJECT/branches/ore

変更を trunk へマージ (smerge from .)

svk smerge -lf .

push とか pull とかも使えるようだけど、branch と trunk 間のマージの場合はコミットを一回にまとめてログも「マージしたよ」なんてしたいから smerge を使う。

* オフラインでの作業

オフラインの環境だと mirror に直接コミットは出来ないので、作業用のローカルブランチを作ってそっちにコミットする。

参考: http://blog.bulknews.net/mt/archives/002058.html

trunk 用の作業ディレクトリを作って作業する場合。元々チェックアウトしてある(mirrorの) trunk ディレクトリに移動して以下。

作業コピー作成

svk copy . //local/PROJECT/

作業コピーを変更

svk switch //local/PROJECT/

コミット

svk commit

オンラインになったら push!push!push!!

svk push --verbatim

作業コピーを元に戻す

svk switch //mirror/PROJECT/trunk

Posted by Kyosuke Takayama at 2007-11-06 (Tue) 10:54 printable version

この記事へのコメント

コメントはお気軽にどうぞ

Cookie に保存しますか?


・スパム対策のため、http:// を含むコメントの投稿は出来ません。
・スパムチェックのため、投稿がすぐに反映されない場合があります。
・メールアドレス入力欄には何も入力しないでください。

トラックバック

トラックバックURL: http://espion.just-size.jp/mt-tb.cgi/690


この記事のリンク元

 
Copyright (C) Kyosuke Takayama, All rights reserved.