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.

Haiyuan Zhang
la source

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]
Vendeur riche
la source
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.

Kimvais
la source
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
sdafjhjh
la source
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.

bahrep
la source
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
0

Dans TortoiseSVN vous pouvez configurer le serveur proxy sous Paramètres => Réseau

utilisateur3092818
la source
Ce serait vraiment bien si vous pouviez ajouter une capture d'écran
Petter Friberg
-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.

Petesh
la source
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