VisualStudio2008用にVisualSVNをセットアップするように依頼されました。
ファイアウォールの制限とサーバー構成のため。sshトンネリングを使用する必要があります。
私の問題はこれです:
ローカルマシンはssh経由でゲートウェイマシンに接続してから、Subversionサーバーに接続する必要があります。
Local machine ---{ssh}--- gateway ---{ssh}-- Subversion server
私はこれを行うための正しいプロセスを正確に確信していません。
plinkを使用してsshプロセスを開始し、ローカルポートを開いて、それをリモートSubversionサーバーに転送する必要があるようです。
例えば:plink user@gateway -L 22:192.168.1.1:22
次に、VisualSVNが起動すると、Tortoiseplinkを使用して、Subversionサーバーへの実際の接続を使用します。svn+ssh://username@localhost:22/myrepo
これは非常に不格好なようです。
まず、接続を設定するためにいくつかの手順が必要です。
次に、デスクトップにコマンドプロンプトを残すplinkを実行する必要があります(clutter = yuck)。
最後に、同じことを行う2つの異なるプログラムを使用する必要があります。(plink + tortoiseplink)
問題は、tortoiseplinkがバックグラウンドで実行されないことです。sshゲートウェイに接続してパスワードを入力するとすぐに、再び閉じます。そのため、最初の接続を作成するためにそれを使用することはできません。
VisualSVNでtortoiseplinkの代わりにplinkを使用すると、パスワードの入力を求められることはありません。そのため、コマンドプロンプトを開くだけでハングし、パスワードの要求はありません。
すべてが1つのコマンドラインで実行されるようにVisualSVNを設定する方法はありますか?
VisualSVNからリモートサーバーにトンネリングするための適切でクリーンな方法を高低で検索しましたが、ほとんど見つかりませんでした。それはすべて、1ホップ(私のように2ホップではない)を想定しているか、すべてのハードビットをグロスします。
VisualSVNは異なるサーバー上の複数のリポジトリをどのように処理しますか?すべてのプロジェクトで同じsshコマンドラインを使用する必要があるようです。つまり、リポジトリは1つだけです。または少なくとも1つのホストのみ!