2003-06-28 (Sat)
▲ ウニとホッケ
実家から利尻・礼文旅行おみやげのとれたてウニと大きなホッケが届いた。礼文島最北端のスコトン岬かららしい。
あんまりにも甘く濃厚なウニにがまんできず、朝から奥播磨を引っ張り出して晩酌(?)。ペロリと一瞬にして食べてしまった。
晩御飯で食べたホッケも大きいのにさっぱりしててたいへんおいしゅうございました。ありがとう。
▲ GBA SP
まわりがポコポコ入手していくので悔しくなってついに購入。買ったのはB00008GQXWとB000089AOA。近くのお店にも普通に売ってるようになったみたい。
ソフトはキャッスルバニアが欲しかったのだけど、どこも売り切れ。とりあえず前から遊びたかった B00006WLIJ を購入。
(や) が信長の野望オンラインでテレビを占領していても遊べるのはいいかもしれない。
2006-06-28 (Wed)
▲ Tailor
必要に迫られてTailorというPython実装のツールを触ってる。これはCVSやSVNのように分散リポジトリに対応していないVCツールでも、リポジトリを相互に同期できるようにした優れもののツールだ。
リモートリポジトリをローカルリポジトリに落として、家でローカルリポジトリを相手にオフラインで開発とかできる。オンラインになったときに後で同期すればよい。
このツールの非常に優れた点は多数のVCツールをサポートしていて、お互いに同期ができること。CVSからSVNの移行にも使える。かなりマイナーなVCツールにも対応してる。元々はDarcs向けのツールだったようだ。
例によってソースは後藤さんより>sync-up 作業の効率アップのために
対応VC
- Darcs
- Subversion
- Monotone
- CVS
- Bazaar-NG
- Mercurial
- Git (Cogito)
そんで単純と思われる SVN <-> SVN を試しているんだが svn:ignoreで無視して削除したとこのファイルでエラーが出るなぁ。地雷踏んだかしら。
おお〜。最新のversion 0.9.23 から0.9.19に落としたら動いたぞぅぅ。0.9.23の SVN <-> SVNにはなんかしら問題あるということで。ひとつひとつのcommitを再現してくれるのでこれは便利だ。リポジトリがリモートでもcommit権さえあれば同期できるのも魅力。
さらに触ってたら0.9.23でも動作した。勘所をメモ。
- 途中で失敗して、やりなおす時は必ずtailor.stateファイルを消す
- source側のworking copyはrev 1をcheckoutする
- LANGを日本語にしてると失敗するかも?
使い方
http://localhost/repos/kozuchiのsourceリポジトリの内容をのtargetリポジトリへcommitして同期する場合。両方SVNを想定。subdirを分けるとrsyncも必要っぽい。
# working copyの準備 # sourceリポジトリのworking copyをcheckout $svn co -r 1 http://localhost/repos/kozuchi src # targetリポジトリのworking copyをcheckout $svn co file:///home/koichiro/repos/local/kozuchi dst # tailorの設定ファイルを出力 $ ./tailor --verbose --source-kind svn --target-kind svn --repository http://localhost/repos/kozuchi --module / --revision INITIAL --target-repository file:///home/koichiro/repos/local/kozuchi --use-svn-propset --target-module / kozuchi > kozuchi.tailor # kozuchi.tailorを編集して先のworking copyをそれぞれのsubdirとして設定する # 設定ファイルは後述 # tailorを実行 $ LANG=C ./tailor -v --configfile kozuchi.tailor
kozuchi.tailor
[DEFAULT] use-propset = True verbose = True [project] target = svn:target start-revision = INITIAL root-directory = /home/koichiro/tmp/tailor-0.9.19 state-file = tailor.state source = svn:source [svn:target] module = / repository = file:///home/koichiro/repos/local/kozuchi subdir = dst [svn:source] module = / repository = http://localhost/repos/kozuchi subdir = src