>> On Mon, 17 Apr 2000 18:35:18 +0900
>> 「土」== tsuchiya@xxxxxxxxxxxxxxxxxxxxxxx (TSUCHIYA Masatoshi) said as follows:
土> えーと。手元では、mhc-db.el という抽象化層を定義して、従来の方式と CVS
土> 経由の方式を使い分けられるようにした版を実装し始めています。この抽象化
土> を、きちんと行えば問題はないのではないでしょうか。
実装しました。結局、
mhc-file.el
スケジュールファイル操作の抽象化層
mhc-cvs.el
CVS経由でスケジュールファイルを管理するバックエンド
mhc-spool.el
従来方式の真似をするバックエンド
という構成になっています。mhc-spool.el を使っている場合でも、
~/Mail/schedule/.log にファイル操作の履歴を書き出すようにしたので、こ
れを使えば CVS に依存せずに同期を行うスクリプトも書けると思います。
以下にパッチを添付します。
Attachment:
mhc.diff.gz
Description: Binary data
パッチの使い方について説明します。私の設定は以下のようになっています。
;; mhc.el
(setq mhc-mailer-package 'gnus
mhc-base-folder "+schedule"
mhc-mail-path (expand-file-name "../MHC" gnus-directory)
mhc-file-method 'mhc-cvs
mhc-cvs-repository-path "/work/tsuchiya/cvsroot")
(require 'mhc)
(add-hook 'gnus-summary-mode-hook 'mhc-mode)
(add-hook 'gnus-group-mode-hook 'mhc-mode)
(add-hook 'gnus-startup-hook 'mhc-file-setup)
(add-hook 'gnus-exit-gnus-hook 'mhc-file-exit)
mhc-file-method が管理方式を決定する変数です。このパッチでは、
'mhc-spool または 'mhc-cvs という値が有効です。mhc-cvs-repository-path
は、CVS のレポジトリの場所を示す変数です。何も設定しなければ、環境変数
CVSROOT の値や、~/CVS/ などを探し、適当なものを使います。
最後の2つのフックは、MUA の起動時にメソッドの初期化を行い、終了時に後
片付けを行うための設定です。これがないと正常に動作しませんから、MUA に
あわせて適当に設定してください。
使い方は、これまでと変わりません。mhc-file-toggle-offline /
mhc-file-sync という2つのコマンドが別に使えるようになっています。名前
からも想像がつくように、前者はオフライン操作とオンライン操作を切り替え、
後者はスケジュールファイルをサーバーから取り寄せます。
--
土屋 雅稔 ( TSUCHIYA Masatoshi )
http://www-nagao.kuee.kyoto-u.ac.jp/member/tsuchiya/