以前Net::SSH で明示的に password 認証にでまったく同じ現象に悩んでいたんだけど、またハマったのでもう一度書く。
ポイントは
自分の ssh_config と秘密鍵を認証に使いたくない
で、これの実現のためには
set :ssh_options, {
:config => false,
:keys => []
}
と設定されていればよい。(:keys => nil はダメ)
set :ssh_options[:auth_methods], 'password'
だけでうまくいくんじゃないかと思ったけど、これはなんでかうまくいかなかった。ちゃんと内部で password 認証だけに絞られてるように見えるんだけど、そういうわけではないのかな。
Capistrano 2.5.5 で確認。
それか capistrano で使う秘密鍵の名前はデフォルトとは別な名前にしておくという方針がいいのかもしれない。
Subversion と Git の場合、git-svn という便利なツールがあるらしい。使ってないからよく知らないけど絶賛する声をよく聞く1。
でも CVS の場合はそこまでいいものはない。一応 CVS リポジトリの import 自体は working copy 上で
git cvsimport -C DEST
って打つと DEST 上に .git/ を作って import してくれる。ただし cvsps という別なツールに依存しており、かつ普段の git のスピードからは想像がつかないくらいの時間が掛かる。
それでも git log が使えるというメリットは結構大きい。日常的に git にも CVS にも commit しますという目的に使うのは厳しいみたいだけど、コードを読むという目的には十分使える。
cf.
自分の場合は git と生の svn を別々に使うので特に不満はない。 ↩