66 votes

Erreur de Subversion : (405 Method Not Allowed) en réponse à MKCOL

J'obtiens l'erreur suivante en essayant de commit un nouvel ajout de répertoire.

svn: Commit failed (details follow):
svn: Server sent unexpected return value (405 Method Not Allowed) in response to MKCOL request for '....

Je n'ai jamais vu cette erreur auparavant. Comment puis-je résoudre ce problème ?

Solution
J'ai réussi à résoudre le problème :

  • Supprimez le répertoire parent du dossier qui pose problème.
  • Faire la mise à jour SVN.
  • Un dossier portant le même nom que le nouveau existait déjà dans le référentiel.
  • Supprimez ce dossier.
  • SVN commit.
  • Copier le nouveau dossier, planifier l'ajout et SVN commit.

45voto

Sung Points 9172

Cette erreur indique généralement que le dossier que vous essayez d'ajouter déjà existe dans le dépôt - avez-vous fait une mise à jour récemment, ou avez-vous fait un checkout non-récursif pour commencer ?

J'ai déjà rencontré cette erreur - j'ai trouvé un blog qui m'a expliqué quel était le problème. La solution était un peu plus complexe, supprimer le répertoire en question de ma copie de travail (en le copiant ailleurs), exécuter une mise à jour récursive, puis fusionner les deux répertoires ensemble manuellement.

Edit : Opps - déjà répondu dans le corps de la question. Et moi qui était tout excité de connaître la réponse à une question sans réponse :)

8voto

Troy Daniels Points 181

J'ai eu un problème similaire avec MKACTIVITY sur googlecode. C'était parce que j'avais extrait le référentiel avec http :, mais les extractions nécessitaient https :.

5voto

Sam Dutton Points 151

J'ai eu la même erreur et j'ai réussi à la résoudre :

  1. SVN Renomme le répertoire problématique en 'foo', ou autre.
  2. SVN commit
  3. SVN Renommer au nom que vous voulez
  4. SVN commit

Je ne suis pas sûr que cela fonctionne dans tous les cas, mais c'est plus simple que de supprimer le répertoire parent.

4voto

Dave Cheney Points 18132

Votre dépôt svn autorise-t-il les commits via HTTP ? Certains référentiels, comme SourceForge, autorisent les anonyme checkout via HTTP, mais exige que les développeurs s'enregistrent via svn et SSH.

3voto

Dawn Green Points 131

Dans mon cas, j'avais des problèmes pour vérifier les fichiers dans un dossier. J'ai suivi les étapes décrites par Sergio avec quelques modifications.

  1. Copie le répertoire parent du problème.
  2. Suppression des fichiers .svn dans le répertoire copié
  3. svn delete /répertoire_parent
  4. commit
  5. Créer un nouveau répertoire dans le repo
  6. commit
  7. Déplacer les sous-répertoires du répertoire copié vers le repo
  8. commit
  9. Copie de fichiers individuels
  10. commit

J'avais quelques fichiers avec lesquels j'avais des difficultés. Je les ai laissés hors du référentiel, mais je les ai recréés avec un nouveau nom.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X