web-dev-qa-db-ja.com

プロキシの背後でgit-svnフェッチを実行できません

Git-svnを使用してsvnリポジトリをミラーリングしようとしています。

私がやっている

git svn clone http://worldwind31.arc.nasa.gov/svn/trunk/WorldWind

そして、私は得ています

Initialized empty Git repository in f:/gstest/WorldWind/.git/
RA layer request failed: PROPFIND request failed on '/svn/trunk/WorldWind': PROPFIND of '/svn/trunk/WorldWind': could not connect to server (http://worldwind31.arc.nasa.gov) at /usr/lib/Perl5/site_Perl/Git/SVN.pm line 148

プロキシ内にない別のコンピューターで同じことを行う場合は問題ありません。

私はwin7を使用しており、$HTTP_PROXYhttp.proxy(gitのグローバルなもの)、および$HOME/AppData/Roaming/Subversion/serversを正しいプロキシに設定しました。

シェルでsvn checkout [repo adress]を実行すると機能します。シェルでwget [repo adress]を実行すると機能します。しかし、git svn clone [repo adress]ではありません

何か案は?これで見つけた質問のほとんどは、Subversion/serversファイルを指していますが、今はそれを編集しましたが、問題はまだあります...:/

19
bjarven

私はまったく同じ問題を抱えていました。

そして解決策は、正しいSubversion構成ディレクトリを見つけることです。少なくとも私の場合、ネイティブのsvn.exeはファイルC:\Users\MYUSER\AppData\Roaming\Subversion\serversを使用しますが、git-svn~/.Subversion/serversを使用します。つまり、Git BashShellのこのパス~/.Subversion/serversは、~が適切な場所に展開されていることを意味します。 ~/.Subversion/serverssvn.exeが使用する他の方法と同じ方法で編集すると、git svn cloneが機能するはずです。

つまり、Windowsには複数の構成ファイルがある可能性があるため、編集する適切な構成ファイルを見つけることが重要です。

30
janos

Linux上のプロキシの背後でsvnを機能させるには、ファイル~/.Subversion/serversをプロキシの詳細で更新します。

[global]
# http-proxy-exceptions = *.exception.com, www.internal-site.org
http-proxy-Host = YOURPROXY.com
http-proxy-port = YOURPORT
# http-proxy-username = defaultusername
# http-proxy-password = defaultpassword
# http-compression = no
# http-auth-types = basic;digest;negotiate
# No http-timeout, so just use the builtin default.
# No neon-debug-mask, so neon debugging is disabled.
# ssl-authority-files = /path/to/CAcert.pem;/path/to/CAcert2.pem

Windowsにも同様の構成があると思います...

11
Fredrik Pihl

通常、環境変数のみ:

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

gitまたはgit-svnが正しく機能するには十分です。

しかし、私が得たのは、使用する正確なURLです。
例えば:

  • HTTP_PROXY=wwww.myproxy.company:8080は機能しませんが、
  • HTTP_PROXY=http://wwww.myproxy.company:8080は機能します。

HTTPS_PROXYにも同じものを使用します。つまり、同じhttpアドレスを意味します(最初にHTTPS_PROXYのhttps URLを入力しようとしましたが、それは機能しません)

もちろん、認証が必要な場合は、(少なくともテスト目的で)ログイン/パス名を追加できます。

HTTP_PROXY=http://myLogin:[email protected]:8080

また、NO_PROXYを設定するのにも役立ちます:localhost,*.company


したがって、この回答の背後にある主なポイントは、「使用している正確なURLを再確認する」ことです(そして、msysgitパッケージまたは curl http://www.google.com からの単純なGnu On Windowsまたはwgetでテストします)

5
VonC

設定については、C:\ Users\YOU\.Subversion\serversを参照してください。このファイル内で次のようなものを探しています...

[global]
# http-proxy-exceptions = *.exception.com, www.internal-site.org
http-proxy-Host = 127.0.0.1
http-proxy-port = 3128

...これらの設定はCNTLM用です。上記でコメントを外した行のコメントを解除し、独自の詳細を入力します。パスワードなどのフィールドがあります。Sourceforgeから情報を取得できるように修正しました。ええ、Sourceforgeはまだそこにあります。

また、CNTLMは、NTLM、最前線などを通過するのに最適です。Fiddler2を実行し、ルールを「自動認証」にtrueに設定して、CNTLMが見逃した認証を取得します。 Chromeアップデートは、Fiddlerが修正するものの1つです。

0
CAD bloke

私にとっての解決策は、rl in configを変更することでした。既存のものにアクセスできなかったからです。確認するには、ブラウザを使用してリポジトリのURLにアクセスしました。禁止されたU​​RLを使用する場合、私は'403 Forbidden'を取得しました。

0
Yegoshin Maxim