ブログトップ 記事一覧 ログイン 無料ブログ開設

高原芳浩のKeep-Alive このページをアンテナに追加 RSSフィード

2006-05-08

[]Macとsvkでユビキタスプログラミング

数日前にMac Powerbook G4を購入し、コードを書いている。操作感は長年使ってきたLinuxとほぼ変化無い。必要なもを落としてきてautoconf/automakeでコンパイルすればLinuxで使っていたソフトウェアがほぼ同じように動く。かなり期待以上の物が手に入ったというのが感想。PHPPerl書いているWebエンジニアはみんなMacにしたらいいんじゃないかと思う。

開発環境が以前と明らかに変わったのは、スタンドアローンのノートになったという事。つまりこれ単体でApache/MySQL/PHP/emacs/firefoxが動く環境にあり、その他のコマンドラインツールも一つのパソコンに入れる事ができる。

2年ほど前東芝のノートパソコンにLinuxを入れて使っていたことがあったが、電源管理がへたれで、Linux標準のものがハードメーカが作ったものにずいぶん見落とりし*1、バッテリーが保たなくなったためLinuxノートを諦めた事があったが、もちろんMacではそんな事はあり得ない。すいすい持ち歩いて、思いついたらどこでもコードを書き始める事ができる画期的なツールだ。サスペンド状態からの復帰が早いのもすばらしい。

唯一問題なのが、開発記録をとるためSubversionリポジトリだけは外のネットワーク上に無くてはならないこと。そこで、Subversionをローカルでミラーするsvkを使う。svkを使えば、オフラインで開発が可能になる。ネットがつながったときに、svkからSubversionへまとめてアップロードすれば良い。

svkの使い方をざっくり説明

svkのインストール

以下から。

http://svk.elixus.org/

Mac OSX用のバイナリがある。これを迷わずGet.

セットアップ
svk depotmap --init

これだけ。

リモートミラーの作成

リモートミラーとして、//mirror/bookmarkを作成する

svk mirror http://svn.tracfort.jp/svn/bookmark //mirror/bookmark
リモートミラーのアップデート

syncコマンドで、ネットワーク上のリポジトリとリモートミラーを同期する

svk sync //mirror/bookmark

ここから、オフラインで可

ローカルリポジトリの作成

手元で変更する為にローカルにリモートミラーのブランチを作成する

svk cp //mirror/bookmark //bookmark
チェックアウトして作業環境を作成する
svk co //bookmark/trunk bookmark

作業とコミット

チェックアウトした、bookmarkディレクトリに対して普通に変更する

そして、普段通りsvk(svnではなく)を使ってコミットする

svk ci -m 'hogehoge' ファイル名

ここで、コミットされるのはローカルリポジトリになる(svk info参照のこと)

と、ここまではオフラインでOK

リモートミラーへマージ

家や会社に帰ってネットワークにつながったら、以下のコマンドでリモートミラーに反映する

svk sync //mirror/bookmark

ローカルリポジトリへの変更をミラーにマージする

svk smerge -l //bookmark //mirror/bookmark

smergeの-lオプションは、ローカルリポジトリに書いたコミットログをミラーへのコッミットログのデファルトに設定してくれるのでおすすめ。これでリモートへもコミットされる。


とまぁざっくりこんな感じでsvkは便利に使えたりする。

smergeやリポジトリ名が//bookmarkのように短縮できるあたり、svnのフロントエンドとしても便利。

詳しい、チュートリアルもあるので参考までに。

http://svk.elixus.org/?SVKTutorial



近所の喫茶店でコーヒーを飲みながらプログラミングを楽しむ環境がこんなに簡単に手に入るとは思ってなかった。脱、引きこもり中。

*1:今はそんな事無いかもしれない

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。