svn ci コマンドが出来ない
svnでコミットしようとする
$ svn ci
しかし、エラーメッセージが表示されコミットができない。
MacPro:branche n$ svn ci
svn: E205007: Commit failed (details follow):
svn: E205007: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: E205007: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 'editor-cmd' run-time configuration option was found
内容をみると、コミットの際にメッセージを記載するのに必要なエディタが指定されていないとこが書かれている。
下記のように、オプションをつけ、メッセージを入れることも可能ではあるが、、、
svn ci -m 'コミットメッセージ'
毎回このオプションが必須になってしまうし、次回以降のことも考え、根本から解決することにした。
今回は、「 .profile 」を作成してみよう。
.profile 作成
ホームディレクトリに移動
cd
新規に作成 (ls -la などで、現在のdotfileを確認しても良いかもしれません)
vi .profile
ファイルの中身は下記の1行のみでOK
VISUAL=vi; export VISUAL
確認 (環境変数を設定したので、その確認)
env
envコマンドを実行して出力されたなかで、下記が出ていればOK
VISUAL=vi
いったんバッシュを閉じて、新しいターミナル(コマンドプロンプト)を出して、
もう一度、コミットしてみる
svn ci
これで、コミットのメッセージで、viが立ち上がってくれる。
(viがもし、pcにインストールされていない場合は、インストールしていないと難しいと思います)
.profileに記載してもenvが反映されない場合
bashの設定ファイルには読み込まれるタイミングや優先順位や細かく決められています。
/etc/profile
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc
~/.bash_logout
~/.profile
でenvが反映されない場合は、~/.bash_profile
で試してみてください。
ちなみに、envはコマンドライン(ターミナル)を再起動しないと、反映されないので、新しいコマンドの画面を立ち上げて確認してください。
余談
git だと、こういった環境変数の設定をしなくても、デフォルトで、コミットする際にviが立ち上がっていると思います。