Подтвердить что ты не робот

Невозможно выполнить git -svn выборки за прокси-сервером

Я пытаюсь зеркалировать репозиторий svn с помощью git -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_PROXY, http.proxy (глобальный в git) и $HOME/AppData/Roaming/Subversion/servers в правильный прокси.

Выполнение svn checkout [repo adress] в оболочке работает. Выполнение wget [repo adress] в оболочке работает. Но не git svn clone [repo adress]

Любые идеи? Большинство вопросов, которые я нашел по этому поводу, указывают мне на файл Subversion/servers, но теперь я отредактировал его, и проблема все еще там...:/

4b9b3361

Ответ 1

У меня была такая же проблема.

И решение находит правильный каталог конфигурации Subversion. По крайней мере, в моем случае native svn.exe использует файл C:\Users\MYUSER\AppData\Roaming\Subversion\servers, но git-svn использует ~/.subversion/servers. И я имею в виду этот путь ~/.subversion/servers в оболочке Git Bash, где ~ разворачивается в нужное место. Измените ~/.subversion/servers так же, как и тот, который используется svn.exe, а затем git svn clone должен работать.

Короче говоря, ключ находит правильный файл конфигурации для редактирования, поскольку у вас может быть несколько из них в Windows.

Ответ 2

Чтобы заставить svn работать за прокси-сервером в linux, обновите файл ~/.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

Я предполагаю, что аналогичная конфигурация на окнах...

Ответ 3

Обычно только переменные среды:

  • 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-url для HTTPS_PROXY, но это не так, как это работает)

Конечно, если вам нужно пройти аутентификацию, вы можете (по крайней мере, для тестирования) добавить в нее свой логин/пароль:

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

И это тоже помогает установить NO_PROXY: localhost,*.company.


Таким образом, основной причиной этого ответа является "двойная проверка точного URL-адреса, который вы используете" (и протестируйте его с помощью простого curl http://www.google.com или с wget, либо из пакета msysgit, либо из Gnu On Windows)

Ответ 4

Посмотрите на 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 исправляет для меня.

Ответ 5

Для меня решением было просто изменить url в config. Потому что я не смог получить доступ к существующему. Чтобы проверить, я просто обращался к URL-адресу репо с помощью моего браузера. В случае использования запрещенного URL я получил '403 Forbidden'.