Comment configurer un proxy HTTP pour svn


95

Je veux vérifier le code du référentiel http://code.sixapart.com/svn/perlbal/ . Je ne peux accéder à l'URL du référentiel qu'en définissant un proxy. Je suppose que si je veux obtenir le code de la même URL par svn, je dois également configurer un proxy. Quelqu'un d'entre vous pourrait-il me dire comment configurer un proxy HTTP dans svn?

Au fait, j'utilise le svnclient en ligne de commande sous Linux.

Réponses:


126

Avez-vous vu l'entrée FAQ Et si je suis derrière un proxy? ?

... éditez votre fichier de configuration "serveurs" pour indiquer quel proxy utiliser. L'emplacement des fichiers dépend de votre système d'exploitation. Sous Linux ou Unix, il se trouve dans le répertoire "~ / .subversion". Sous Windows, il se trouve dans "% APPDATA% \ Subversion". (Essayez "echo% APPDATA%", notez qu'il s'agit d'un répertoire caché.)

Pour moi, cela impliquait de ne pas commenter et de définir les lignes suivantes:

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

Est-ce que quelqu'un sait s'il existe un moyen de le configurer pour essayer le proxy et utiliser la connexion réseau de base si le proxy n'est pas disponible? J'ai un proxy au travail, mais lorsque je suis à distance, j'aimerais pouvoir utiliser SVN sans avoir à ouvrir le fichier de configuration et à commenter les lignes du proxy.
Erik Mitchell

1
Pour moi, la solution Kimvais ci-dessous a aidé. J'ai dû décommenter la section juste en dessous de «[global]». Au départ, j'avais décommenté les mêmes lignes lors de leur première apparition, ce qui n'aidait pas.
Devesh

@ErikMitchell: Créez deux versions du fichier de configuration et des scripts qui vous permettent de basculer. Lisez la documentation de votre système d'exploitation pour savoir comment vous connecter au mécanisme de découverte de réseau et exécuter le script approprié lorsque votre ordinateur portable remarque où il se trouve.
Aaron Digulla

2
Cela fonctionne pour moi, mais le mot de passe reste stocké sous forme de texte brut. Je ne veux pas que mon mot de passe soit exposé comme ça. Y a-t-il un moyen de contourner cela?
Pmt

62

Vous pouvez trouver les instructions ici . En gros, vous ajoutez simplement

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

à votre ~/.subversion/serversdossier.


7
Il s'agit de la configuration côté client. Le fichier «serveurs» signifie les paramètres de connexion aux serveurs. Voir svnbook.red-bean.com/en/1.1/ch07.html#svn-ch-7-sect-1.3.1
Kimvais

dernier lien svnbook (v1.7) pour la configuration du fichier "servers": svnbook.red-bean.com/en/1.7
michael

11

Sous Windows 7, vous devrez peut-être modifier ce fichier

C: \ Users \ <UserName> \ AppData \ Roaming \ Subversion \ servers

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

8

Il existe deux approches courantes pour cela:

Si vous êtes sous Windows, vous pouvez également écrire des http-proxy-options dans le registre Windows . C'est très pratique si vous devez appliquer des paramètres de proxy dans l'environnement Active Directory via des objets de stratégie de groupe.


1
Sous Linux, vous pouvez utiliser alias svn-my-proxy='svn --config-option ...'pour pouvoir utiliser svn-my-proxy co http://svn/repo/trunk. Cela vous permet de basculer facilement entre les configurations proxy ( svn-my-proxy co) et sans proxy ( svn co) en fonction du réseau sur lequel se trouve votre machine à ce moment-là. Vous pouvez ajouter la aliascommande à votre ~/.bashrcpour être recréée lors de la prochaine connexion bash. M'aide beaucoup entre mon réseau de travail et mon réseau domestique!
Drew Anderson du


-2

La plupart des * nixen comprennent la variable d'environnement 'http_proxy' lors de l'exécution de requêtes Web.

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

devrait faire l'affaire. La plupart des bibliothèques http vérifient cette (et d'autres) variables d'environnement.


25
Malheureusement, Subversion n'honore pas encore http_proxy, et ne le fera probablement jamais. Voir le numéro sur subversion.tigris.org/issues/show_bug.cgi?id=1327
Stefan Lasiewski

4
C'est juste épique . Heureux de savoir que c'est le cas, mais mieux vaut connaître la bonne façon de le faire aussi
Petesh

2
Merci pour l'information. Je suis curieux: sous Ubuntu 14.10, la http_proxyconvention semble fonctionner (SVN v1.8.10). Mais ce n'est pas le cas sous Centos 6.6 (SVN v1.6.11). J'ai cherché dans leur changelog mais je n'ai rien trouvé d'assez clair. Une idée si elle a été corrigée pour de bon?
Anto

2
svn 1.8 a presque complètement changé le fonctionnement du réseau http. L'ajout de la prise en charge de http_proxy peut avoir été un effet secondaire.
Petesh
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.