svk

svk

チュートリアル通りにやる前にいろいろドキュメントを読んだ。
Subversion+svkでらくらく分散リポジトリ
のおかげではあるが。

なんとなく見えてきたもの(インストールもしてないので想像含む)

  • svk リポジトリは subversionリポジトリそのもの。内部的には file:/// プロトコルでアクセスしている
  • なので追加の属性 svk:merge とかを利用して管理している
  • ミラーしているかどうかの属性を持ってる。ミラーの時は svk commit で自動的にミラー元にコミットしにいく
  • ミラーに向かって sync やると同期する
  • それ以外の同期作業は基本 smerge

Subversion+svkでらくらく分散リポジトリ SVKのコンセプト
のところの図を理解するにあたって、最後の smerge のところが何でtrunkにコミットしないでいきなり branch-remote 対象やねんと思った。
これ最初に提示するなら trunk のがよかったのでは。

つーか branch-local と branch-remote は操作としては確かにそういう名前にしたくなるのは分かるが、
使う身の概念としては前者はブランチじゃねえだろう。
第4回を参照すると前者を work としているし。

ディレクトリ構成は以下のようにするといいんじゃないか。depotmap は積極的に利用する方向で。

  • /プロジェクト名/mirror/trunk (ミラー用)
  • /プロジェクト名/mirror/branches (ミラー用)
  • /プロジェクト名/mirror/tags (ミラー用)
  • /プロジェクト名/work/trunk (作業用ローカルリポジトリ)

…しかし、ほぼ svn 互換なので Subversion 2.0 になる時には取り込まれるような気がする。
merge の自動化はもともとTODOに上がってたし。

日常作業は以下のようになしている

  • svk smerge -m – -st /プロジェクト名/work/tronk でミラー元リポジトリの変更を取り込む
  • 衝突を解消
  • 作業ディレクトリを TortoiseSVN で更新
  • いろいろ作業
  • 作業ディレクトリを TortoiseSVN でコミット
  • もっかい svk smerge -m – -st /プロジェクト名/work/tronk でミラー元リポジトリの変更を取り込んで大きな変更がないことを確認。あったら上の「衝突を解消」からやり直し
  • svk push –verbatim /プロジェクト名/work/tronk で一気にコミット
広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。