[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)