2012-08-24

svn commitするとE492: Not an editor command: Bundle ...なエラーが出るとき

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
どうやら最近は、vimを使う時はVundleとやらを導入するのが流行っているのかなと思って真似っ子してみました。

以下のサイトなどを参考にしてdotfilsというディレクトリを作って、そのディレクトリをバージョン管理で管理してみました。
http://d.hatena.ne.jp/oovu70/20120324/p1

で普通に
vi aaa
とかする分には何も問題ないのですが、

svn commit
をしてviを起動させてcommitログを記述する際に

E492: Not an editor command: Bundle....

みたいなエラーが表示されていました。

まぁ、commitする時だけ我慢すればよいかなぁと思っていたのですが
ちょっと探してみたところgitでも同じことが起こるケースがあるようです。
https://github.com/gmarik/vundle/issues/168
どうやら利用するeditorの指定をviではなくvimとしないといけないようです。

gitの場合は
git config --global core.editor "vim"
とすれば良さそうです。

svnの場合は、環境変数でSVN_EDITORで指定しているので
今まで

export SVN_EDITOR=vi

としていたものを

export SVN_EDITOR=vim

にしたら、エラーがでなくなりました。



2012-08-09

rubyを1.8から1.9にあげるときはmagic-commenterが便利

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
rubyを1.8.xから1.9.xにあげるときにやらなくてはならないこととして
日本語を扱うファイルの頭に
# encoding: utf-8
って感じのマジックコメントを追加するということがあります。

railsとかの場合、いくつものファイルに対応しなくてはならなくて面倒です。
そんなときは、
magic-commenter
が便利です。

インストールは
gem install magic-commenter
でOKです。

使い方は、railsプロジェクトの場合ruby1.9対応させたいプロジェクトのルートで
magic-commenter
と実行すればOKです。これで実行したディレクトリ以下のファイルで日本語を利用している.rbのファイルにマジックコメントを追加してくれます。

あくまでもファイル内で日本語を使っているものにだけマジックコメントを追加するというものなので、日本語は使っていないけど日本語を文字列処理するようなファイルがあった場合は自分でマジックコメントの追加が必要ではあります。

以下で紹介されていて参考になりました。
http://blog.s21g.com/articles/2024


railsの場合、どっかにちょこっと何かを書けば、うまく1.9対応できそうな気がしないでもないですが・・・

2012-08-01

FreeTDSのバージョンをあげたら接続できなくなったところがあった

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
FreeTDSをv0.82からv0.91にあげてみました。
そしたら一部接続ができなくなってしまったのです。
接続的なくなったのは、以下のように設定したSQL Serverです。

freetds.conf
[abc]
 host = 192.168.0.111
 instance = SQLEXPRESS
 tds version = 8.0
 charset = sjis
 client charset = UTF-8

odbc.ini
[def]
Driver = /usr/local/lib/libtdsodbc.so
Description = Microsoft SQL Server
Servername = abc
Database = testdb
Port = 1433


tsql -S abc -U user -P pass
では接続できるのに
isql -v def user pass
では接続できないという感じです。
v0.82の時は、どちらも接続できていました。

で、これを解決する方法ですが
odbc.iniを以下のように修正すればOKです。

[def]
Driver = /usr/local/lib/libtdsodbc.so
Description = Microsoft SQL Server
Servername = abc
Database = testdb
#Port = 1433


PortをコメントアウトすればOKです。
原因はSQLEXPRESSとなっている場合は、ポートがどうも動的に変化するようです。
v0.82ではodbc.iniのPort設定を無視していたのですが、v0.92ではodbc.iniで指定されたPortで接続をかけようとするため接続ができなかったというわけでした。