履歴管理に CVS を使用している人は、PCL-CVS を導入すると Meadow から 簡単に操作できるようになります。 また、Emacs に標準で組み込まれている VC(Version Control:MS 製の IDE ではない) も併用すると良いでしょう。
なお、このページでの説明は、 cygwin および cygwin 版 CVS がインストールされていることが前提となります。
Meadow でのインストール手順は以下のようになります。
なお、Emacs 21 には標準で組み込まれているので、
インストール作業は必要ありません。
以下のパッケージをダウンロードする必要があります。
PCL-CVS が必要とするのでとりあえずインストールしてしまいましょう。
Makefile を以下のように編集します。 例は d:/usr/local/ 以下にMeadow をインストールしている場合です。
prefix =d:/usr/localdatadir = $(prefix)/share locallisppath =$(prefix)/Meadow/1.14/site-lisp# This will fail if locallisppath is anything but a single directory. # That is all right, since that is the default behaviour of Emacs; those # that know how to change it, should know how to change this file. And # if this is accepted into GNU Emacs, the files should end up inside # the normal lisp directory. ELIBDIR = $(locallisppath)/elib infodir =$(prefix)/Meadow/1.14/infoEMACS =d:/usr/local/Meadow/1.14/bin/meadowNT.exe↑(9X 系列の場合は、meadow95.exe とする)
あとは、make を実行するだけです。
bash-2.05b$ make bash-2.05b$ make install
cygwin のバージョンなどによっては、 インストール中に install-info コマンドがエラーを起こす場合があるようです。 この時点で elisp のインストール自体は成功しているはずので、 info が必要なければこのままでも問題ないと思います。 気になる人は以下のように Makefile を修正しましょう。
install-info: elib.info
$(INSTALL_DATA) elib.info* $(infodir)
if $(SHELL) -c 'install-info --version' \
>/dev/null 2>&1; then \
install-info --info-dir=$(infodir) elib.info; \
↑先頭のハイフンを削り、オプション --infodir を --info-dir にする
else true; fi
Makefile を以下のように編集します。
# set up the usual installation paths prefix =d:/usr/localdatadir = $(prefix)/share # the directory where you install third-party emacs packges lispdir =$(prefix)/Meadow/1.14/site-lisp(略)# the directory where you install the info doc infodir =$(prefix)/Meadow/1.14/infodocdir = $(prefix)/doc EMACS =$(prefix)/Meadow/1.14/bin/meadowNT.exe
あとは、make を実行するだけです。
bash-2.05b$ make bash-2.05b$ make install
上記手順でインストールしていれば .emacs に何も設定しなくても動作しますが、 以下の設定をしておくと良いでしょう。
;; log 入力の改行コード対応
(modify-coding-system-alist 'process "cvs" '(undecided . undecided-unix))
;;
;; 以下は Meadow 用の設定です、Emacs 21 では必要ありません。
;;
;; cvs.exe に引数を与えるときの設定
(define-process-argument-editing
"/cvs\\.exe\\'"
(lambda (x)
(let ((command (car x))
(argument (cdr x)))
(setq argument (cygnus-process-argument-quoting argument))
(concat
(unix-to-dos-filename command) " "
(unix-to-dos-argument (mapconcat (function concat) argument " ")
nil nil nil nil)))))
;;
;; cvs が ediff を利用する際に buf1 の coding-system を buf2 に合わせる
;; ShiftJIS コードのファイルのみを管理する場合は必要ありません。
;;
(defadvice cvs-ediff-diff (before cvs-ediff-diff-change-coding activate)
"convert coding system before cvs-ediff-diff"
(save-excursion
(let ((buf2 (ad-get-arg 1)))
(set-buffer buf2)
(let ((buf1 (ad-get-arg 0))
(coding-system buffer-file-coding-system))
(set-buffer buf1)
(set-buffer-file-coding-system coding-system)))))
セットアップが終了したら、早速使ってみましょう。 なお、このページでは CVS の使い方そのものは説明しません(長くなるので)。 以下のページが参考になると思います。
M-x cvs-checkoutで、checkout 可能です。モジュール、
ワーキングディレクトリの置き場をそれぞれ入力すれば、checkout が実行されます。
そして *cvs* バッファが作成されます。
M-x cvs-examine と入力してワーキングディレクトリを指定します。
すると *cvs* バッファが作成されます。
キー操作は以下のとおりです。
| キー | 動作 |
h |
ヘルプ(簡易版:ミニバッファに表示される) |
? |
ヘルプ(Meadow: h と同じ Emacs21:*Help* バッファに表示される) |
p |
カーソルを上に移動 |
n |
カーソルを下に移動 |
f |
ファイルを開く |
o |
ファイルを別ウィンドウに開く |
q |
終了する(実際にはバッファはまだ存在する) |
= |
diff を表示 |
d e |
ediff による diff 表示 |
m |
マークする(l 以下のコマンドはマークしたファイル全てが対象となる) |
u |
マークを外す |
l |
ログの表示 |
s |
status の表示 |
+ |
ツリーを表示する |
C |
commit する |
c |
commit する(前回のコメントがバッファに入力された状態になる) |
U |
ワーキングファイルでの変更を破棄し、 レポジトリに格納した内容に戻す |
a |
add する |
r |
remove する |
x |
すでに commit したファイル (Up-To-Date なファイル)を表示対象から外す |
q キーで終了します。
ただし、この場合はバッファ自体はそのまま残ります。
バッファを切り替えれば継続できます。
終了時にバッファも削除したい場合には、
M-x cvs-mode-quit で終了します。
本当に終了するかどうか確認しますので、"y" で終了します。
(Emacs 21 の場合には z で強制終了が可能です)