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>
(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.
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.
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
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
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.