ちょっと前からちまちまと作業をしていた nautilus 上で TortoiseSVN みたいな事ができる拡張がある程度形になった。TortoiseSVN のようにファイルマネージャに統合された、1) 右クリックメニューで各種 svn コマンドが打てる、 2) 最新、要更新、コンフリクトがアイコンで表示される、というのが欲しかったけど、1) ができるのはあっても、2) 状態を表示するのが無かったので作ってみた。
nautilus-extension を python から制御する nautilus-python を利用してアイコンの更新を行い、pysvn を使って svn のやりとりを作った。
んが、nautilus-extension ではエンブレムの追加をする関数はあるのに、削除する関数が無かったので、結局そこに手を入れて削除する関数を追加。
今のところ、対象とできるディレクトリは一つ。最新、要更新、コンフリクトを表すアイコンの表示と表示の更新、右クリックメニューからコミット(複数可)ができる状態。まぁこれは nautilus-python のスクリプトをいじるだけなので、ちまちま進めよう。あぁ、 pygtk とか使ってダイアログも表示させないとなぁ、コミットコメント固定やし...。
とか思ってたら、既に作ってる人達がいたのか...。まぁ当たり前っちゃあ当り前やけども。でもこれだとディレクトリ開いてる状態で emblem の更新ができないはずなんだけどなぁ。...まぁ気にしない。
【追記 2009/2/5 8:03】ubuntu 8.10 の Nautilus 2.24.1 で試したら、emblem の更新で前に add_emblem した emblem が残らなくなっていた。問題の切り分けをまだやっていないけど、とりあえず上の patch は既に意味が無いものになっていると思われる。