it-swarm.com.de

Subversionsfehler: (405 Methode nicht erlaubt) als Antwort auf MKCOL

Beim Versuch, einen neuen Verzeichniszusatz festzuschreiben, wird die folgende Fehlermeldung angezeigt.

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

Ich habe diesen Fehler noch nie gesehen. Wie kann ich dieses Problem beheben?

Lösung
Ich habe es geschafft, das Problem zu lösen:

  • Löschen Sie das übergeordnete Verzeichnis des Ordners, der das Problem verursacht.
  • SVN-Update durchführen.
  • Ein Ordner mit demselben Namen wie der neue war bereits im Repository vorhanden.
  • Löschen Sie diesen Ordner.
  • SVN-Commit.
  • Kopieren Sie den neuen Ordner, planen Sie das Hinzufügen und das SVN-Commit.
65
Sergio del Amo

Dieser Fehler zeigte normalerweise an, dass der Ordner, den Sie hinzufügen möchten bereits im Repository vorhanden ist - haben Sie kürzlich ein Update durchgeführt oder haben Sie zunächst eine nicht rekursive Prüfung durchgeführt?

Ich bin zuvor auf diesen Fehler gestoßen - habe einen Blog gefunden, in dem mir das Problem mitgeteilt wurde. Die Lösung war etwas komplexer. Entfernen Sie das betreffende Verzeichnis aus meiner Arbeitskopie (kopieren Sie es an eine andere Stelle), führen Sie ein rekursives Update aus und führen Sie die beiden Verzeichnisse manuell zusammen.

Edit: Opps - bereits im Fragetext beantwortet. Und hier war ich ganz aufgeregt, dass ich die Antwort auf eine unbeantwortete Frage wusste :)

44
andrewc

Ich hatte ein ähnliches Problem mit MKACTIVITY auf Google Code. Das lag daran, dass ich das Repository mit http: ausgecheckt hatte, für das Einchecken jedoch https: erforderlich war.

8
Troy Daniels

Ich habe den gleichen Fehler erhalten und konnte ihn beheben:

  1. SVN Benennen Sie das problematische Verzeichnis in "foo" oder was auch immer um
  2. SVN Commit
  3. SVN Benennen Sie den gewünschten Namen zurück
  4. SVN Commit

Ich bin nicht sicher, ob dies in allen Fällen funktioniert, aber es ist einfacher als das Löschen des übergeordneten Verzeichnisses.

5
Sam Dutton

Erlaubt Ihr SVN-Repository Commits über HTTP? Einige Repositorys, wie SourceForge, erlauben das Auschecken von anonym über HTTP, erfordern jedoch, dass Entwickler über svn und SSH einchecken.

4
Dave Cheney

In meinem Fall hatte ich Probleme beim Einchecken von Dateien in einem Ordner. Ich folgte den Schritten, die Sergio mit ein paar Änderungen skizzierte.

  1. Kopierte das übergeordnete Problemverzeichnis.
  2. Gelöschte .svn-Dateien im kopierten Verzeichnis
  3. svn delete/parent_directory
  4. Verpflichten
  5. Erstellen Sie ein neues Verzeichnis in Repo
  6. Verpflichten
  7. Verschieben Sie Unterverzeichnisse aus dem kopierten Verzeichnis in das Repo
  8. Verpflichten
  9. Einzelne Dateien kopieren
  10. Verpflichten

Ich hatte ein paar Dateien, mit denen ich Probleme hatte. Ich habe sie aus dem Repository entfernt, sie aber mit einem neuen Namen neu erstellt.

3
Dawn Green

Ich hatte dieses Problem, als ich ein Verzeichnis aus SVN entfernte und es dann neu erstellte. Als ich das neu hinzugefügte Verzeichnis festschrieb, gab SVN diesen Fehler aus. Ich habe das Problem gelöst, indem ich eine SVN im neu hinzugefügten Verzeichnis ausgeführt und die Konflikte dann manuell gelöst habe.

2
imikay

Bei Verwendung von Unfuddle, einem gehosteten SVN-Dienst, wird dieser Fehler wiederholt angezeigt, wenn die SVN-Datei durch Kopieren von Dateien im OS X Finder mit Füßen getreten wird. Die SVN-Beschwörung, die für mich funktioniert hat:

  • zurückkehren
  • aktualisieren
  • löschen Sie den Ordner mit der Remote-URL
  • fügen Sie den Ordner hinzu und schreiben Sie ihn fest
1
xentek

Erstellen Sie eine Sicherungskopie des Ordners.
Löschen Sie den Ordner im Repository (mit Repo-Browser).
Erneut festschreiben.

Funktioniert gut für mich.
Marcus

0
Marcus

In Eclipse ist es einfach zu beheben.

Team> Wechseln Sie zu einem anderen Tag/Zweig

Wählen Sie, vollständig rekursiv und aktivieren Sie Arbeitskopie in angegebene Tiefe ändern

Drücke OK

Das Ordnersymbol ändert sich. Rechtsklick und (Team>) Gelöst markieren.

Das war's, jetzt können Sie sich verpflichten.

0
juliangonzalez

In meinem Fall habe ich ein neues Verzeichnis hinzugefügt, von dem angenommen wurde, dass sich meine lokalen (Client-) Metadaten bereits auf dem Server befinden, und Cleanup hat es nicht korrigiert. Ich habe alle neuen und geänderten Dateien gesichert, alles gelöscht (außer dem Stammordner .svn), Update ausgeführt, um die Dateien wiederherzustellen, und die neuen und geänderten Dateien, die ich gesichert hatte, zurück in das Verzeichnis kopiert. Ich habe die neuen Dateien erneut hinzugefügt und erfolgreich festgeschrieben.

0
stimpy77

ich hatte ein ähnliches Problem, ich habe das Verzeichnis gesichert (nur aus Sicherheitsgründen) als den svn-Ordner zu aktualisieren. danach konnte ich mich wieder festlegen. (und mein Backup nicht verwendet)

0
Ohad Cohen