fedora10にあげたらblogが動かなくなってあせった

昨晩、家のサーバーをfedora8から(9にあげるつもりがねぼけてて)一気に10にあげてしまって、perlが5.10になってしまい、夜中までかかってCatalystとかPlagger関連のperlのモジュールをたくさん入れた。

で、Catalystのバージョンも最新のになったのだけど、blogシステムが動かなくなってしまい、あせった。というか、viewまわりの指定とか認証周りとか変わってるっぽいがそこらへんを修正してとりあえず動くようにしたが、週末にでもちゃんと書き直そう。

ついでにsubversionで管理していたblogシステムをmercurialに移行した。で、 この本読みながら、いじってる。

ProductName 入門Mercurial Linux/Windows対応
藤原 克則
秀和システム / ¥ 2,310 ()
在庫あり。

hg serveでログがグラフ表示されるのが楽しくて、無駄にブランチ切ってマージしたりとかしてるが、pullとmergeの使い方がいまいちちゃんと理解できてないので、第3部のチーム利用の章がもっと厚いとよかったかもと思った。

入門mercurial

Appendixのコマンドリファレンスが便利だし、個人で使う場合、チームで使う場合、カスタマイズと構成が分かれていて読みやすかった。特にmercurialのマージのやり方が分かりやすく解説されていておすすめ。5.3の未コミットベースとコミット済成果ベースの話も非常に参考になった。

あと、12章のオープンソースベースのプロジェクトにオレオレパッチを当てながら快適に使う方法がよかった。職場用にカスタマイズしているツールもこれを参考にソースコード管理してみようと。

mercurialとの連携の部分ではtracみたいなBug Tracking Systemとの連携に関しては触れられてなかった。

ProductName 入門Mercurial―Linux/Windows対応
藤原 克則
秀和システム / ¥ 2,310 ()
通常24時間以内に発送

  • hg annnotate
  • hg rollback
  • hg copyでコピーした場合-fオプションで複製前のファイルの履歴までさかのぼれる。
  • --style changelogでChangeLog形式の出力

Open Babel 2.2.0をmacbookにインストール

Open Babel 2.2.0にバージョンがあがったのでインストールをした。ソースから。

同時に、perl,python,rubyのバインディングもコンパイルしてインストールしておく。

WindowsにおいてあるPlutoのファイル群を持ってくる

Windowsで開発しているPlutoをmacでもいじれるようにする。windowsのほうはhg serveと打てばhttpサーバーが立ち上がり、port8000番でアクセスできるようになる。

macのほうはディレクトリを作って初期化してpullしてupdate

mkdir Pluto
cd Pluto
hg init
hg pull http://192.168.XXX.XXX:8000/
hg update

これでOK

Paste = Pythonのmodule-starterみたいなもん

Python版のmodule-starterみたいなもんはないのかなとつぶやいたらPasteが使えることを教えてもらった。ありがとうございます。

しかしよりによってPasteがこんな風に使えるとは。

paster create -t pylons helloworld

pylonの組み込みコマンドの癖に-t pylonsってなんじゃそらとか思ってたのだけど実は組み込みコマンドじゃなかったという。

Pasteの使い方は

paster create mymodule

で対話的に入力していって答え終わると雛形完成。でディレクトリに移って

hg init
hg add
hg commit

までやるとあら不思議、分散リポジトリに管理されたPythonのモジュールスケルトンが数分で出来あがり。

ここまでやると、開発、実行(テスト)、リポジトリの管理がMeadowで全部出来るので楽チン。

あとsetuptoolsとか覚える

MeadowでMercurial

Emacs からの利用の通りに設定をした。

快適!Meadow生活

ProductName 入門 GNU Emacs 第3版
Debra Cameron,James Elliott,Marc Loy,Eric Raymond,Bill Rosenblatt
オライリー・ジャパン / ¥ 3,990 ()
通常24時間以内に発送

やっぱMercurial使う

mercurialをみていたらsvkでもいいような気がしてきたとか書いたけど、今日いじってみたらMercurialがすげー楽チンで驚いた。分散リポジトリ管理って便利かも。

以下は簡単な使い方のメモ。

cd repos
hg init
hg add
hg commit

クローンを作る

hg clone repos repos_c
cd repos_c
#作業
hg commit

変更を反映させる

hg pull ../repos
hg push ../repos

webからみれるようにする

hg serve

これで、http://localhost:8000/にアクセスすると履歴がみれたりURLごしにやりとりできるし、RSSやATOMの出力もついてたりする。