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

[mhc:01100] Re: mhc-cvs



 From: Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxxxx>
 Subject: [mhc:01098] Re: mhc-cvs
 Date: Fri, 20 Oct 2000 16:46:39 +0900 (JST)

 > mhc-cvs/modify() でも相対パスに直さないといけないことに気付いた
 > ので、直しておきました。

ん?これですが、mhc-cvs/shrink-file-name を二回かますことになりま
せんでしょうか?これだと、add/remove の時点では filename が
2000/10/13 となって成功しますが、commit するときに 
../../2000/10/13 などに変わってしまうので commit してくれないよう
です。もとに戻すと 20.6, 19.34 両方で問題なく動くようです。
# XEmacs な環境は手元にないので試せません。


それと、これは上とは関係ないですが、add や remove したときに MHC 
は ONLINE 状態だけど線が切れているなどで cvs add などが失敗したと
きに、手元の ~/Mail/schedule/ 以下をどう処理すればそれなりにつじつ
まが取れるかということなのですが、とりあえず offline 時の処理に準
じるように以下のようにするのはどうでしょうか?
--
馬場  肇 ( Hajime BABA )            E-mail: baba@xxxxxxxxxxxxxxxxxxxxxx
京都大学理学部宇宙物理学教室 博士後期課程
--


Index: mhc-cvs.el
===================================================================
RCS file: /cvsroot/mhc/emacs/mhc-cvs.el,v
retrieving revision 1.7
diff -u -r1.7 mhc-cvs.el
--- mhc-cvs.el	2000/10/20 07:48:37	1.7
+++ mhc-cvs.el	2000/10/21 06:25:04
@@ -225,8 +225,9 @@
 	(not (copy-file filename added t))
       (if (file-exists-p added) (delete-file added))
       (setq filename (mhc-cvs/shrink-file-name filename))
-      (and (= 0 (mhc-cvs/backend "add" filename))
-	   (mhc-cvs/modify filename)))))
+      (if (= 0 (mhc-cvs/backend "add" filename))
+	  (mhc-cvs/modify filename)
+	(copy-file filename added t)))))
 
 (defun mhc-cvs/remove (filename &optional offline)
   "ファイルを削除する関数"
@@ -238,15 +239,16 @@
 	  (not (rename-file filename removed t)))
       (if (file-exists-p added) (delete-file added))
       (if (file-exists-p removed) (delete-file removed))
-      (if (file-exists-p filename) (delete-file filename))
+      (if (file-exists-p filename) (rename-file filename removed t))
       (setq filename (mhc-cvs/shrink-file-name filename))
-      (and (= 0 (mhc-cvs/backend "remove" filename))
-	   (mhc-cvs/modify filename)))))
+      (if (= 0 (mhc-cvs/backend "remove" filename))
+	  (progn (mhc-cvs/modify filename)
+		 (if (file-exists-p removed) (delete-file removed))
+		 t)))))
 
 (defun mhc-cvs/modify (filename &optional offline)
   "ファイルを変更する関数"
-  (or offline (= 0 (mhc-cvs/backend
-		    "commit" "-m" "" (mhc-cvs/shrink-file-name filename)))))
+  (or offline (= 0 (mhc-cvs/backend "commit" "-m" "" filename))))
 
 
 ;;; CVS Backend Function