[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mhc:00502] Re: mhc-cvs.el
白井です。
From: TSUCHIYA Masatoshi <tsuchiya@xxxxxxxxxxxxxxxxxxxxxxx> さん曰く
Subject: [mhc:00501] Re: mhc-cvs.el
Message-ID: <mpahfd06m2s.fsf@xxxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 18 Apr 2000 13:59:42 +0900
土> 土> えーと。手元では、mhc-db.el という抽象化層を定義して、従来の方式と CVS
土> 土> 経由の方式を使い分けられるようにした版を実装し始めています。この抽象化
土> 土> を、きちんと行えば問題はないのではないでしょうか。
土>
土> 実装しました。結局、
\(^^)/ 素晴らしいです。
母艦: UNIXで pserver (Emacs20.6), 子供: WinNT, Win95(Meadow) で
動作確認をしました。
土> (add-hook 'gnus-startup-hook 'mhc-file-setup)
土> (add-hook 'gnus-exit-gnus-hook 'mhc-file-exit)
Mew だと
(add-hook 'mew-init-hook 'mhc-file-setup)
(add-hook 'mew-quit-hook 'mhc-file-exit)
ですね。できたら、MUA に関わらず、mhc 内部で close していた方が
いいと思います。
土> 使い方は、これまでと変わりません。mhc-file-toggle-offline /
土> mhc-file-sync という2つのコマンドが別に使えるようになっています。名前
土> からも想像がつくように、前者はオフライン操作とオンライン操作を切り替え、
土> 後者はスケジュールファイルをサーバーから取り寄せます。
要望/感想なのですが、
1. mhc-file-sync の結果で "M" の file や、add した file はその場
で commit した方がいいんじゃないかと思います。
現状だと、mhc-file-exit() するまで commit しないですし、
mhc-file-exit() だと +schedule 以下全部 commit していますから、
folder や file が増えて来ると電話回線だと辛いような気もします。
だけど、大変そうだから、mhc-file-sync が
(defun mhc-cvs/sync ()
"リモートのスケジュールファイルとローカルのスケジュールファイルの同期を取る関数"
(= 0 (mhc-cvs/backend "update"))
(= 0 (mhc-cvs/backend "commit" "-m" "")))
でもいいかな。
2. .mhc-mtime file も cvs 対象にした方が良いと思います。
ただし、現在の .mhc-time の中身は、ほとんど変わらないと思うので、
(1) mhc-misc-touch-directory() で時間でも書き込んで、CVS の対象
にする。だけど、しょっちゅう update しそうであまり良くない。
(2) cvs command の出力を解析して、その directory に
mhc-misc-touch-directory() する。
が必要となります。そうじゃないと、NotePC で Emacs をずっと立ち
上げていて、Network につながったときに cvs update しても Emacs
を再立ち上げするまで表示が変わらないので悲しいのです。
# ありゃりゃ、Windows だと call-process に
# "CVSIGNORE=.mhc-mtime trash" が引き継がれていないみたい。
# Windows 向けだと (getenv "CVSIGNORE") (setenv "CVSIGNORE" "hoge")
# かな?
3. 現在の mhc-file/offline の値をどこかに表示する option がある
と NotePC はうれしいです。あと、これぐらいの message 表示は欲し
いかな?
(defun mhc-file-toggle-offline ()
(interactive)
(setq mhc-file/offline (not mhc-file/offline))
(message "mhc-file is %s." (if mhc-file/offline "offline" "online")))
土> という構成になっています。mhc-spool.el を使っている場合でも、
土> ~/Mail/schedule/.log にファイル操作の履歴を書き出すようにしたので、こ
土> れを使えば CVS に依存せずに同期を行うスクリプトも書けると思います。
UNIX で母艦を持っていない Win32 ユーザはうれしいかも。
というわけで、とりあえずの使用レポートです。しかし、素晴らしい。
# さて conflict させてみようかなぁ。^^;;;
--
白井秀行 (mailto:shirai@xxxxxxxxxxxxxxxxxxx)