19

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ますが、今はそのファイルを編集しましたが、問題はまだそこにあります... :/

4

5 に答える 5

30

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

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

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

于 2013-03-16T14:00:02.497 に答える
11

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にも同様の構成があると思います...

于 2013-02-27T12:20:23.640 に答える
5

通常、環境変数のみ:

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

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

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

  • HTTP_PROXY=wwww.myproxy.company:8080動作しませんが
  • HTTP_PROXY=http://wwww.myproxy.company:8080動作します。

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

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

HTTP_PROXY=http://myLogin:myPassword@wwww.myproxy.company:8080

そしてそれはまたNO_PROXY1つを設定するのを助けます:localhost,*.company


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

于 2013-03-02T00:29:29.423 に答える
0

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 を実行し、ルールを「自動認証」に設定して、CNTLM が見逃した認証を取得します。Chrome の更新は、Fiddler が修正してくれるものの 1 つです。

于 2013-03-27T03:23:39.900 に答える
0

私にとっての解決策は、 config で url を変更することだけでし。既存のものにアクセスできなかったからです。確認するために、ブラウザを使用してリポジトリの URL にアクセスしました。禁止された URL を使用した場合、「403 Forbidden」が発生しました。

于 2013-10-15T09:00:57.593 に答える