web-dev-qa-db-fra.com

Subversion E160013: chemin '/ svn/xxx /! Svn/me' non trouvé * erreur

J'ai récemment mis à niveau le bitnami trac stack (de 0.12.2-5 à 0.12.3) sur notre serveur et après avoir reconfiguré tous les scripts et référentiels, tout semblait aller pour le mieux. J'ai pu me connecter et voir le code source et parcourir le référentiel à l'aide de Trac . J'ai testé la vérification du code source et je pouvais parcourir le référentiel à la fois avec visualsvn et tortoise.

Mais quand il a fallu engager des changements, il y avait un problème. J'ai un chemin non trouvé exception. En examinant le journal des erreurs sur le serveur, tout ce que je pouvais voir, c’était que toutes les demandes GET étaient correctes, mais les POST avaient une URL incorrecte (!svn/me a été ajouté à la fin).

Après avoir passé quelques heures à parcourir les journaux et les configurations, depuis que Subversion a été mis à niveau de 1,6 à 1,7, ceci inclut le nouveau protocole HTTPv2 . Ce protocole a en quelque sorte affecté l'accès aux référentiels SVN, mais semble ne concerner que les POST et non les GET.

Workaround

Pour désactiver cette nouvelle fonctionnalité, vous devez modifier la configuration mod_dav_svn comme suit:

DAV svn
...
SVNAdvertiseV2Protocol Off

Le problème a ensuite été résolu et nous avons pu vérifier à nouveau nos modifications.

32
allan

J'ai résolu ce problème en désactivant le protocole HTTP 2. Pour le désactiver, vous pouvez modifier les emplacements de configuration mod_dav_svn comme suit:

DAV svn ... SVN Annoncer L2Protocol Off

8
allan

Je voulais juste ajouter un peu à cette "question". Je recevais le même message d'erreur après avoir déplacé un serveur SVN d'un ordinateur à un autre. Une erreur 500 et "! Svn/me" a été ajoutée à la fin de l'URL du serveur SVN, rien ne commet, mais tout le reste a fonctionné. Après des heures passées à essayer de nombreuses choses, il s'est avéré que le compte utilisateur utilisé par VisualSVN/Apache n'avait pas d'accès en écriture au répertoire du référentiel SVN. J'ai donc donné au compte un accès en modification/écriture au répertoire SVN de mise en pension et de validation. Ce qui est logique car tout sauf Commit fonctionnait. Je ne sais pas si cela sera utile pour les autres, mais je pensais le poster ici malgré tout. Merci pour la question, m'a aidé à comprendre où je me suis trompé.

3
Justin Horner

C'était un problème sur https://trac-hacks.org , qui sert Trac à / et Subversion à /svn. Le problème a été initialement contourné en désactivant SVNAdvertiseV2Protocol. Plus tard, le problème a été résolu en servant Trac à partir de /trac et en redirigeant / vers /trac. Cependant, cette solution n’était pas idéale en raison de la redirection. Un autre administrateur du projet a trouvé la solution consistant à ajouter:

Alias   /svn            /var/www/000-default/svn

Je ne sais pas pourquoi cela fonctionne, mais c'est efficace et ne nécessite pas la redirection et le traitement de Trac à partir de /trac.

0
RjOllos