« 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 at 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

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/12724538

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

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

Tracked on 2006.12.29 at 22:03

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