[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mhc:00501] Re: mhc-cvs.el



>> 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/