web-dev-qa-db-fra.com

Quelle est la cause de "svn: E195019: Cycle de redirection détecté pour l'URL"?

Essayer de commander depuis mon dépôt SVN me donne

 svn: E195019: Cycle de redirection détecté pour l'URL ... 

Cependant, il semble que cette erreur ne se produise que lorsque je suis derrière un serveur proxy (spécifique).

Comme indiqué dans un autre article (voir tortoise svn me donnant "Cycle de redirection détecté pour l'URL 'domaine/svn'" ), cette erreur se produit si SVN DAV est mal configuré, par exemple à l'aide de SVNParentPath où l'on doit utiliser SVNPath. Cependant, ma configuration semble être correcte et, autant que je sache, le problème ne se produit que derrière un proxy.

La configuration du référentiel est plus ou moins standard, par exemple,

 ServerAlias ​​svn.mydomain.com 
 <Emplacement /myrepo>
 DAV svn 
 SVNPath /var/www/vhosts/mydomain.com/svn/myrepo 
 AuthType Basic 
 AuthName "mydomain svn" 
 AuthUserFile /var/www/vhosts/svn.mydomain.com/conf/htpasswd-myproject
 # Autoriser l'accès en lecture seule à quiconque, sinon il faut 
 # demander une authentification 
 Requérir un utilisateur valide 
 </ Location> 
10
Christian Fries

(J'ai donné une réponse à ma propre question après avoir utilisé une demi-fin de semaine pour rechercher la solution):

Il semble que ce message d'erreur soit lié au fait que le référentiel Subversion est situé dans un répertoire svn/myrepo où le répertoire svn est également répertorié en tant que racine_document du sous-domaine svn.mydomain.com. Cette directive DocumentRoot n’était pas évidente pour moi, car la racine du document du sous-domaine avait été configurée dans un fichier de configuration différent (j’utilise Plesk pour la maintenance du serveur). Cela a créé une sorte d’ambiguïté. Une fois que j'ai déplacé la racine du document du sous-domaine vers un emplacement différent, le message d'erreur a disparu.

Le problème était difficile à cerner car, autant que je sache,

  • L'erreur n'apparaît pas si le référentiel est situé au niveau supérieur du sous-domaine, à savoir <Location /> et SVNPath /var/www/vhosts/mydomain.com/svn dans la configuration ci-dessus.

  • L'erreur ne s'affiche que si l'accès au référentiel est effectué via un proxy.

  • La collision avec DocumentRoot n'était pas si évidente, car il s'agissait d'un sous-domaine.

Donc, pour résumer: la solution (avec Plesk) : Changez le "DocumentRoot" du sous-domaine dans la configuration de Plesk (GUI) en quelque chose de différent du répertoire SVN. Le "DocumentRoot" de www.mondomaine.com est httpdocs. Le "DocumentRoot" de svn.mydomain.com était (par défaut) svn. J'ai changé cela en httpdocs-svn et le problème avait disparu. Le dossier httpdocs-svn n'est pas utilisé dans mon installation car tout ce qui suit est svn.mydomain.com géré par DavSVN.

12
Christian Fries

Assurez-vous que le lien que vous utilisez est le lien 'svn' et non le lien 'view'.

i.e. www.myrepo.com/svn/myproject/trunk || correct
www.myrepo.com/view/myproject/trunk || incorrect

Cela devrait fonctionner.

8
bemaldo

Dans mon cas, le problème est qu’il y avait des paramètres non compatibles entre les fichiers de configuration sur Ubuntu.

J'ai Ubuntu 18.04 et Apache2 et le dernier serveur SVNS de Ubuntu et pour résoudre le problème de la redirection, je devais supprimer Alias ​​de deux fichiers de configuration différents:/etc/Apache2/mods-enabled/dav_svn et/etc/Apache2/site-enabled/default-ssl.conf  

/etc/Apache2/mods-enabled/dav_svn

 #Alias /svn /svn_repo/svn
 <Location /myrepo>
    DAV svn
    SVNPath /svn_repo/svn
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /mypath/dav_svn.passwd
    Require valid-user
    AuthzSVNAccessFile /etc/Apache2/dav_svn.authz
</Location>

/etc/Apache2/site-enabled/default-ssl.conf

 #Alias /svn /svn_repo/svn
 <Location /myrepo>
    DAV svn
    SVNPath /svn_repo/svn
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /mypath/dav_svn.passwd
    Require valid-user
    AuthzSVNAccessFile /etc/Apache2/dav_svn.authz
</Location>

il est évident qu'après modification j'ai besoin de redémarrer Apache:

Sudo service Apache2 restart
2
Ivan Revelli

Je rencontrais le même type d'erreur après ce tutoriel: Comment installer un serveur SVN sur Ubuntu 18.04 & 16.04 LTS . Par la suite, je dois supprimer la ligne suivante dans Etape 3  

Alias ​​/ svn/var/lib/svn

2
md. ariful ahsan

Le problème concerne l'URL SVN que vous avez indiquée lors de la validation de votre commande. J'ai vérifié divers postes pour ce problème, mais aucun d'entre eux n'a fonctionné pour moi. Voici la solution très simple qui a fonctionné pour moi,

Vous avez besoin de votre référentiel csvn en utilisant le lien ' http: // localhost: 3343/csvn/repo/list ' Et de copier l'URL de la commande 'Commander' pour le référentiel auquel vous souhaitez accéder.

Cette URL que vous devez utiliser dans le client SVN tortoise pour le paiement.

0
Mayur