[Momonga-devel.ja:03420] ポートフォワーディングでのレポジトリ取得


nosanosaです。

[Momonga-devel.ja:03405]での以下の件ですが、

>  [注意点]
>  * Proxyを経由する必要がある方は,~/.subversion/servers
> を適宜変更してください.
>  * Proxyを経由した場合,svn switch は可能ですが,svn update ができないことが
>    あります. Proxyサーバの設定が変更可能であれば,
>     http://subversion.tigris.org/faq.html#proxy
>    を参考に,設定を変更するとうまくいく場合もあります.

うまくいかないときは、次のようなエラーになると思います。

$ svn co http://svn.momonga-linux.org/svn/pkgs/trunk
svn: REPORT リクエスト (相手: '/svn/pkgs/!svn/vcc/default') が失敗しました
svn: REPORT (URL: '/svn/pkgs/!svn/vcc/default'): 400 Bad Request
(http://svn.momonga-linux.org);

このような場合で、proxyの設定を変えることがいろいろな事情で不可能な場
合に、proxyの影響を受けないホストにsshで繋げられるならば、ポートフォワ
ーディングでレポジトリを取得することが次のように設定すること出来ます。

# うちでこの問題で困っていたのですが、IRCで相談した所、ryuさんに解決策
# を見つけていただきました。ありがとう、ryuさん。

0. ~/.subversion/serversのproxy設定は消しておく。(はまる原因になります…)

1. ローカルホストで /etc/hosts を編集して次のようにsvn.momonga-linux.org
が127.0.0.1を指すようにする。

127.0.0.1      localhost     svn.momonga-linux.org 

2. ポートフォワーディング

ssh -L 10080:svn.momonga-linux.org:80 gateway

gatewayは問題となっているproxyの影響を受けないホストのホスト名です。

3. レポジトリの取得

ローカルホストで以下を実行。

svn co http://svn.momonga-linux.org:10080/svn/pkgs/trunk

10080というのはポートフォワーディングで指定している任意のポート番号です。

これでコミットもできるようになりました。

以上です。では。