So konfigurieren Sie einen HTTP-Proxy für svn


94

Ich möchte den Code aus dem Repository http://code.sixapart.com/svn/perlbal/ überprüfen . Ich kann nur auf die Repository-URL zugreifen, indem ich einen Proxy einstelle. Ich denke, wenn ich den Code von svn von derselben URL erhalten möchte, muss ich auch einen Proxy konfigurieren. Kann mir jemand von Ihnen sagen, wie man einen HTTP-Proxy in svn konfiguriert?

Ich benutze übrigens den Kommandozeilen- svnClient unter Linux.

Antworten:


126

Haben Sie den FAQ-Eintrag gesehen ? Was ist, wenn ich hinter einem Proxy stehe? ?

... bearbeiten Sie Ihre Konfigurationsdatei "Server", um anzugeben, welcher Proxy verwendet werden soll. Der Speicherort der Dateien hängt von Ihrem Betriebssystem ab. Unter Linux oder Unix befindet es sich im Verzeichnis "~ / .subversion". Unter Windows befindet es sich in "% APPDATA% \ Subversion". (Versuchen Sie "echo% APPDATA%", beachten Sie, dass dies ein verstecktes Verzeichnis ist.)

Für mich bedeutete dies, die folgenden Zeilen zu kommentieren und zu setzen:

#http-proxy-host=my.proxy
#http-proxy-port=80
#http-proxy-username=[username]
#http-proxy-password=[password]

Weiß jemand, ob es eine Möglichkeit gibt, ihn so zu konfigurieren, dass er den Proxy ausprobiert und auf die Verwendung der grundlegenden Netzwerkverbindung zurückgreift, wenn der Proxy nicht verfügbar ist? Ich habe einen Proxy bei der Arbeit, aber wenn ich remote bin, möchte ich SVN verwenden können, ohne die Konfigurationsdatei öffnen und die Zeilen für den Proxy auskommentieren zu müssen.
Erik Mitchell

1
Für mich hat die unten stehende Kimvais-Lösung geholfen. Ich musste den Abschnitt direkt unter '[global]' auskommentieren. Anfangs hatte ich die gleichen Zeilen bei ihrem ersten Auftreten auskommentiert, was nicht half.
Devesh

@ErikMitchell: Erstellen Sie zwei Versionen der Konfigurationsdatei und der Skripte, mit denen Sie wechseln können. Lesen Sie in den Dokumenten Ihres Betriebssystems, wie Sie sich in den Netzwerkerkennungsmechanismus einbinden und das richtige Skript ausführen, wenn Ihr Laptop feststellt, wo es sich befindet.
Aaron Digulla

2
Es funktioniert für mich, aber das Passwort bleibt als Klartext gespeichert. Ich möchte nicht, dass mein Passwort so angezeigt wird. Gibt es eine Möglichkeit, dies zu konturieren?
Pmt

61

Die Anleitung finden Sie hier . Grundsätzlich fügen Sie einfach hinzu

[global]
http-proxy-host = ip.add.re.ss
http-proxy-port = 3128
http-proxy-compression = no

zu Ihrer ~/.subversion/serversDatei.


7
Dies ist eine clientseitige Konfiguration. Die 'Server'-Datei enthält Einstellungen für die Verbindung zu Servern. Siehe svnbook.red-bean.com/de/1.1/ch07.html#svn-ch-7-sect-1.3.1
Kimvais

Letzter Svnbook-Link (v1.7) für die Konfiguration der "Server" -Datei: svnbook.red-bean.com/de/1.7/…
Michael

11

In Windows 7 müssen Sie diese Datei möglicherweise bearbeiten

C: \ Benutzer \ <Benutzername> \ AppData \ Roaming \ Subversion \ Server

[global]
http-proxy-host = ip.add.re.ss
http-proxy-port = 3128

8

Hierfür gibt es zwei gängige Ansätze:

Wenn Sie unter Windows arbeiten, können Sie auch Optionen in die Windows-Registrierung schreibenhttp-proxy- . Dies ist sehr praktisch, wenn Sie Proxy-Einstellungen in einer Active Directory-Umgebung über Gruppenrichtlinienobjekte anwenden müssen.


1
Unter Linux können Sie verwenden alias svn-my-proxy='svn --config-option ...', um verwenden zu können svn-my-proxy co http://svn/repo/trunk. Auf diese Weise können Sie problemlos zwischen Proxy ( svn-my-proxy co) - und No-Proxy ( svn co) -Konfigurationen wechseln, je nachdem, in welchem ​​Netzwerk sich Ihr Computer gerade befindet. Sie können den aliasBefehl zu Ihrem hinzufügen, der ~/.bashrcbeim nächsten Bash-Login neu erstellt werden soll. Hilft mir sehr zwischen meinem Arbeitsnetzwerk und meinem Heimnetzwerk!
Drew Anderson

0

In TortoiseSVN können Sie den Proxyserver unter Einstellungen => Netzwerk konfigurieren


Wäre wirklich schön, wenn Sie einen Screenshot hinzufügen können
Petter Friberg

-2

Die meisten * nixen verstehen die Umgebungsvariable 'http_proxy', wenn sie Webanforderungen ausführen.

export http_proxy=http://my-proxy-server.com:8080/
svn co http://code.sixapart.com/svn/perlball/

sollte den Trick machen. Die meisten http-Bibliotheken suchen nach dieser (und anderen) Umgebungsvariablen.


25
Leider ehrt Subversion http_proxy noch nicht und wird es wahrscheinlich nie tun. Siehe das Problem unter subversion.tigris.org/issues/show_bug.cgi?id=1327
Stefan Lasiewski

4
Das ist einfach nur episch .
Ich bin

2
Danke für die Warnung. Ich bin gespannt: Unter Ubuntu 14.10 http_proxyscheint die Konvention zu funktionieren (SVN v1.8.10). Unter Centos 6.6 (SVN v1.6.11) ist dies jedoch nicht der Fall. Ich suchte in ihrem Changelog , fand aber nichts klar genug. Irgendeine Idee, ob es endgültig gepatcht wurde?
Anto

2
svn 1.8 hat die Funktionsweise von http-Netzwerken fast vollständig geändert. Das Hinzufügen von Unterstützung für http_proxy war möglicherweise ein Nebeneffekt.
Petesh
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.