web-dev-qa-db-fra.com

Erreur de subversion: (méthode 405 non autorisée) en réponse à MKCOL

J'obtiens l'erreur suivante en essayant de valider 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 à l'origine du problème.
  • Faites 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.
  • Copiez le nouveau dossier, programmez l'ajout et validez SVN.
65
Sergio del Amo

Cette erreur indique généralement que le dossier que vous essayez d'ajouter déjà existe dans le référentiel - avez-vous effectué une mise à jour récemment ou avez-vous effectué une extraction non récursive pour commencer?

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

Edit: Opps - déjà répondu dans le corps de la question. Et ici, j'étais tout excité de connaître la réponse à une question sans réponse :)

44
andrewc

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

8
Troy Daniels

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

  1. SVN Renommez le répertoire problématique en 'foo', ou autre
  2. SVN Commit
  3. SVN Renommez le nom que vous voulez
  4. SVN Commit

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

5
Sam Dutton

Votre référentiel svn autorise-t-il les validations via HTTP? Certains référentiels, comme SourceForge, permettent anonyme d'extraction via HTTP, mais nécessitent que les développeurs s'enregistrent via svn et SSH.

4
Dave Cheney

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

  1. Copié le répertoire parent du problème.
  2. Fichiers .svn supprimés dans le répertoire copié
  3. svn delete/parent_directory
  4. Commettre
  5. Créer un nouveau répertoire dans le référentiel
  6. Commettre
  7. Déplacer les sous-répertoires du répertoire copié vers le référentiel
  8. Commettre
  9. Copier des fichiers individuels
  10. Commettre

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

3
Dawn Green

J'ai eu ce problème lorsque j'ai supprimé un formulaire de répertoire SVN, puis l'ai recréé, lorsque j'ai validé le nouveau répertoire ajouté, SVN a généré cette erreur. J'ai résolu le problème en exécutant un SVN sur le nouveau répertoire ajouté, puis j'ai résolu les conflits manuellement.

2
imikay

En utilisant Unfuddle, un service svn hébergé, je vois à plusieurs reprises cette erreur lorsque le .svn est piétiné par la copie de fichiers dans le Finder OS X. L'incantation svn qui a fonctionné pour moi:

  • revenir
  • mise à jour
  • supprimer le dossier à l'aide de l'url distante
  • ajouter et valider le dossier
1
xentek

Faites une sauvegarde du dossier.
Supprimez le dossier dans le référentiel (à l'aide de Repo-Browser).
Réengagez-vous.

Fonctionne très bien pour moi.
Marcus

0
Marcus

Dans Eclipse, il est facile à corriger.

Équipe> Passer à un autre Tag/branche

Sélectionnez, entièrement récursif et cochez Changer la copie de travail à la profondeur spécifiée

Appuyer sur OK

L'icône du dossier change. Clic droit et (équipe>) Mark Resolved.

Voilà, maintenant vous pouvez vous engager.

0
juliangonzalez

Dans mon cas, j'ajoutais un nouveau répertoire que mes métadonnées locales (client) supposaient être déjà sur le serveur et le nettoyage ne l'a pas corrigé. J'ai sauvegardé tous les fichiers nouveaux et modifiés, tout supprimé (sauf le dossier racine .svn), j'ai exécuté Update pour restaurer les fichiers et j'ai recopié dans le répertoire les fichiers nouveaux et modifiés que j'avais sauvegardés. J'ai à nouveau ajouté les nouveaux fichiers et je me suis engagé avec succès.

0
stimpy77

j'ai eu un problème similaire, j'ai sauvegardé le répertoire (juste pour des raisons de sécurité) que de mettre à jour le dossier svn. après cela, je pouvais recommencer. (et pas utilisé ma sauvegarde)

0
Ohad Cohen