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.

Haiyuan Zhang
quelle

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]
Reicher Verkäufer
quelle
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.

Kimvais
quelle
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
sdafjhjh
quelle
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.

bahrep
quelle
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

user3092818
quelle
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.

Petesh
quelle
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