« WorkStyle | Main | Apacheでクライアント証明書 »

2006.11.17

履歴付きメモツール(ひとりWiki+Subversion)

 メモツールとしてひとりWikiを使用し、そのデータをSubversionで履歴管理する方法を考えてみました。

 ひとりWikiのメリットとして、


  1. スタンドアローンで動作するWikiシステムなので、サーバの起動等が不要。なので、例えばプログラムとデータファイル一式をUSBメモリなどに入れて持ち歩けば、(OSの条件をクリアすれば)どこででも使用可能。

  2. Wikiなので、(慣れれば)整形記述が楽。個人的には、Wikiで記述可能な範囲の表現であれば、Wordなどで整形しながら記述するより、Wikiの方が素早く作成できるのでは、と思います。

  3. htmlファイルで出力できるので、まとめた内容の配布がしやすい。


ってのが考えられるかと思います。ただ、編集内容の履歴管理は行っていないため、保存してしまうと「この部分前はなんて書いてたっけ?」ってことになってしまう場合も。で、その部分をSubversionを用いて保管することができないかと検討してみたわけです。

 Subversionのメリットとしては割愛するとして、今回のキーとなる部分は、


  1. FSFS形式で作成したリポジトリにfileプロトコルでアクセスするようにすれば、サーバ不要。なので、例えばUSBメモリの中にリポジトリとワークコピーを作成しておけば、気軽に持ち運び可能。


ってところでしょうか。

 ひとりWikiのデータは、ひとりWikiのexeがあるフォルダ内のdataフォルダ内に格納されるので、リポジトリをその付近に作成してdataフォルダが直接ワークコピーとなるように構築。例えば、ひとりWikiのexeを C:\htwiki というフォルダに格納しているとすると、


  1. C:\htwiki\data・・・データ格納フォルダ

  2. C:\htwiki\repository・・・Subversionリポジトリ(FSFS)

  3. (その他のフォルダは省略)


ってな感じのフォルダ状態となります。で、repositoryに対してsvn.exeやTortoiseSVNを用いてdataフォルダをあらかじめ登録しておき、リポジトリのfile:///C:/htwiki/repository/dataをC:\htwiki\dataにチェックアウト。最初は、「ファイルが存在しますがよろしいですか?」という確認(警告)が表示されますが、気にせずに「はい」を実行。
 あとはsvn.exeやTortoiseSVNを用いてしかるべきタイミングでコミットしていけば、「履歴付きメモツール」のできあがり。

 ただ、これだけだとコミット忘れが発生する可能性があるので、ひとりWikiの起動とコミット処理を一体化したバッチファイルを作成し、普段はそれを用いてひとりWikiを起動するようにしてみました。
 コミット処理の部分は、ひとりWikiで削除されたファイルに関して漏れる可能性があったので、Sed for Windowsも組み合わせて、以下のようなバッチファイルとなっています(svn.exeやsed.exeにはパスが通っているという前提です)。

svn.exe st data | find "!" | sed -e "s/![ ]*\([^ ]*\)/\1/g" > delete.txt
for /F %%I in (delete.txt) DO svn.exe delete %%I
svn.exe st data | find "?" | sed -e "s/?[ ]*\([^ ]*\)/\1/g" > add.txt
for /F %%I in (add.txt) DO svn.exe add %%I
del delete.txt
del add.txt
svn.exe ci data -m ""

 なお、コメントは常にブランクとなるようにしていますが、必要に応じて入力できるようにすることもできるはずです。

#ひとりWikiのプラグインとして作成すれば、もっとスマートに作れるのかもしれません(^^;

|

« WorkStyle | Main | Apacheでクライアント証明書 »

Subversion・Trac・etc.」カテゴリの記事

Comments

ひとりWikiのプラグインは、wikiのデータに対するプラグインで、アプリケーションそのものの追加機能ではないんですね。勘違いしていました(^^;

Posted by: syo | 2006.12.28 16:56

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference 履歴付きメモツール(ひとりWiki+Subversion):

» ひとりWiki Subversion(2) [気の向くままに・・・]
 ひとりWiki Subversionで、sedを使用しないバージョンのバッチフ [Read More]

Tracked on 2006.12.29 22:03

« WorkStyle | Main | Apacheでクライアント証明書 »