タグ別アーカイブ: subversion

psvn でのパスワードの入力

自分のためのメモ。 Emacs の subversion のためのインターフェース psvn.el の先頭のほうで、コメントの形の FAQ に書かれていた。
TEXT:
  1. ;; Q3: How do I enter a username and password?
  2. ;; A3: In the *svn-status* buffer press "s", switch to the
  3. ;;     *svn-process* buffer and press enter. You will be prompted for
  4. ;;     username and password.

Emacs で subversion のコミットログ

日本語入力システムにWnn7を使うために環境変数 LANG を ja_JP.eucJP にしなければならないのだが、いくつか問題が出てきた。 そのうちのひとつ、emacs で subversion のコミットをする際のログを日本語で書こうとするとエラーを起こす。しばらく放っておいたのだが、やはりログは日本語で書いたほうがささっと書ける1)。 .emacs に
LISP:
  1. (add-hook 'svn-log-edit-mode-hook
  2.         '(lambda ()
  3.          (set-buffer-file-coding-system 'euc-jp)))

を加えて解決した。
  1. 諸説あるが、何しろここでは自分ひとりで使っているリポジトリのものなので自分流である。

subversion

ようやく CVSからsubversionに移行した。自分一人の環境だし、滅多にコードも書かないので何のために?というところだが、まあいろいろとファイルの管理などを。出遅れた分あちこちに情報があるので割とスムーズに移行できそうだ。 しかしいくつかの不満はある(使い手が慣れていないからかもしれないが)。ひとつは、パーミッションが保存されないこと。CVSでは作業スペースでパーミッションを変更しておいた状態で update しても(内容はupdateされても)パーミッションが変わることはなかった。subversionでは、いったんファイルを消してから新たに作ったかのように、元のパーミッション(その時点の umaskにしたがって)になってしまう。group の変更も元に戻ってしまう。webページのように、webサーバから見えるようにしてチェックしつつ作業をしている場面では面倒くさい。tarを使うときのようにパーミッションなどが保存されるといいのだが。 もうひとつの問題は日本語の文字化け。CVSより格段によくなっているけれども。 まず、ここの環境では /etc/environment で LANG=ja_JP.EUC-JP となっているしその中の自分の環境でも LANG=ja_JP.EUC-JP としている。普段使いのエディタ Emacs も (set-default-coding-systems 'euc-japan) だ。そこで /var/lib/trac/(リポジトリ)/conf/trac.ini で
CODE:
  1. [trac]
  2.   default_charset = euc-jp

とした。 ファイルの中身がeuc-jpなら何の問題もないのだが、だんだんutf-8のものも出てきた。するとTracで閲覧するときに化けてしまう。これは TracJaの説明にもあるように、
Subversion リポジトリに格納しているファイルのエンコードが、ファイルごとに違う場合、 Subversion 側で各ファイルの svn:mime-types 属性にcharset を正しく設定することで解消します (trac-0.8.2 以降):
で解決した。phpだからといって mime-typeを application/phpとするのはやりすぎで、閲覧することを考えると text/* にしておくのが吉。text/x-php としてみた。text/plain がもっとも無難だとは思うが。 Emacsでは[[psvn.elを使う。編集中に差分を見たいとき = (差分)とすると、euc-jpのバッファにutf-8を表示しようとして文字化けしてしまう。E (Ediff)だと化けずに表示できるので、こちらで見ることにしよう。