[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: [MD:5065] Re: [Announce] Meadow Public Repositry is Open.



>>>>> On Sat, 12 Jun 2004 12:45:46 +0900
>>>>> miyoshi@xxxxxxxxxxx(MIYOSHI Masanori)  said:

三好> 最新の psvn.el ってどこから入手できますか? 前は、
三好> http://svn.collab.net/repos/svn/trunk/tools/client-side/
三好> から入手できたのですが、今はダメです。もしかして、subversion パッ
三好> ケージから外れたのかな。

http://svn.collab.net/repos/svn/trunk/contrib/client-side/psvn/psvn.el
もしくは
http://xsteve.nit.at/prg/emacs/psvn.el
から得られます。


三好> 参考までに私の設定例を示します。かなり古い psvn.el に対するものか
三好> もしれませんが。

結構前ですが、subversionディレクトリの中を再編成して、正式メンテナンス
するツールとそうでないものとを分けた際に contribディレクトリに移ったん
です。そのころとなると結構古いですね。


三好> 私の使い方は次のような感じです。

三好> 1. M-x svn-status で psvn を起動
三好> 2. 変更があったファイル上で `=' で diff
三好> 3. diff-mode で ChangeLog を作成
三好> 4. psvn に戻って commit するファイルを `m' でマーク
三好> 5. `c' で commit (commit-log はChangeLog から自動作成)

わたしも三好さんの設定を使わせてもらってます。


三好> ;; commit log を ChangeLog から作成
三好> (defadvice svn-log-edit-mode
三好>   (after insert-changelog activate)
三好>   (require 'log-edit)
三好>   (let ((log-edit-listfun 'svn-status-marked-file-names))
三好>     (log-edit-insert-changelog)))

こいつは、pcvsではなくpcl-cvsを使ってる場合でもよいように
こんなふーに変えて使ってます。
## なにせいまだに meadow 1.15をメイン環境にしてるもので(^^;

(defadvice svn-log-edit-mode
  (after insert-changelog activate)
  (erase-buffer)
  (condition-case nil
      (progn
	;; for pcvs
	(require 'log-edit)
	(let ((log-edit-listfun 'svn-status-marked-file-names))
	  (log-edit-insert-changelog)))
    (error
     ;; for PCL-CVS
     (require 'cvs-edit)
     (let ((cvs-edit-listfun 'svn-status-marked-file-names))
       (cvs-edit-insert-changelog)))))

三好> ;; commit 終了時に mark をクリアする
三好> (defadvice svn-log-edit-done
三好>   (after clear-user-marks activate)
三好>   (let ((st-info svn-status-info))
三好>     (while st-info
三好>       (setcar (car st-info) nil)
三好>       (setq st-info (cdr st-info)))
三好>     (svn-status-update-buffer)))

こちらは psvn.el に全マーク消去コマンドがあるのでそちらを使うように
変えてあります。

(defadvice svn-log-edit-done
  (after clear-user-marks activate)
  (svn-status-unset-all-user-mark))

とくに最近のpsvn.elではマークの消去として
(setcar (car st-info) nil)
としている部分はnilではなく (cons nil nil)を代入しないと
ヘンな挙動をしますんで、三好さんのコードを使っていて、
新しいpsvn.elに移行する際は注意かも。

--- Regards,
 Shun-ichi Goto  <gotoh@xxxxxxxxxxx>
   R&D Group, TAIYO Corp., Tokyo, JAPAN