wake-up-neo.com

SVN 405-Methode nicht zulässig

Ich habe versehentlich einen Ordner in SVN gelöscht und ihn sofort wieder hinzugefügt. Ich hatte ein Problem damit und meine Lösung entfernte den Ordner vollständig von meiner lokalen Kopie sowie von der Serverkopie. Ich kann Aktualisierungen und Festschreibungen problemlos für jede andere Datei oder jeden anderen Ordner durchführen. Wenn ich jedoch versuche, einen Ordner mit demselben Namen zu erstellen, ihn hinzuzufügen und festzuschreiben, wird der folgende Fehler ausgegeben:

svn: Der Server hat einen unerwarteten Rückgabewert (405-Methode nicht zulässig) als Antwort auf die MKCOL-Anforderung für '/ svn/www /! svn/wrk/9de0d765-2203-456c-af16-58e792ec7ac0/trunk/htdocs/solutions/medical' gesendet.

Ich habe unzählige Bereinigungen, Commits, Updates usw. durchgeführt. Das Problem wurde durch nichts behoben. Ideen?

Zu Ihrer Information, ich habe keine Möglichkeit, den Ordner der obersten Ebene umzubenennen.

122
roadsunknown

Ich vermute, dass der Ordner, den Sie hinzufügen möchten bereits vorhanden in SVN. Sie können bestätigen, indem Sie die Dateien in einen anderen Ordner auschecken und prüfen, ob der erforderliche Ordner bereits in trunk vorhanden ist.

170
Shaji

Am schnellsten konnte ich das Problem beheben, indem ich den betroffenen Ordner duplizierte und ihn mit einem anderen Namen festschrieb. Dann svn mv duplicateFolder originalFolder. Ziemlich einfach.

Also nimm folder1 und erstelle einen folder1Copy:

svn delete folder1
svn add folder1Copy

Übernehmen und aktualisieren:

svn mv folder1Copy/ folder1/

Erneut festschreiben und es ist behoben.

56
TuK

Mein "verschwundener" Ordner war libraries/fof.

Wenn ich es löschte und dann ein Update ausführte, wurde es nicht angezeigt.

cd libaries
svn up

(nichts passiert).

Aber Aktualisierung mit dem tatsächlichen Namen:

svn update fof

tat den Trick und es wurde aktualisiert. Also habe ich meine (manuell tar-archivierte) Arbeitskopie darüber aufgelöst und erneut übergeben. Einfachste Lösung.

10
Riccardo Zorn

Ich habe das gerade in meinem eigenen Repository behoben. Ich verwende TortoiseSVN unter Windows, daher bin ich nicht sicher, in welche Befehle dies in der Befehlszeile übersetzt wird, aber hier ist, was ich getan habe:

Der problematische Ordner heißt lib und sollte hinzugefügt werden.

  • Zuerst habe ich das Add aufgehoben, damit SVN nicht mehr darauf achtet.
  • Dann habe ich es über das Windows-Kontextmenü umbenannt (in "libs", was nicht wichtig ist), hinzugefügt und erfolgreich festgeschrieben.
  • Schließlich habe ich es über das Kontextmenü von TortoiseSVN wieder in lib umbenannt (dies ist wahrscheinlich wichtig) und erneut festgeschrieben.
4
andronikus

Ich habe dieses Problem auch erst jetzt getroffen und auf diese Weise gelöst. Also habe ich es hier aufgenommen und ich wünsche mir, dass es für andere nützlich ist.

Szenario:

  1. Bevor ich den Code festschreibe, Revision: 100
  2. (Jemand anderes schreibt den Code fest ... Revision auf 199 erhöht)
  3. Ich (habe vergessen, "svn up" auszuführen) habe den Code festgeschrieben, jetzt meine Revision: 200
  4. Ich starte "svn up".

Der Fehler ist aufgetreten.

Lösung:

  1. $ mv current_copy copy_back # Benennt die aktuelle Codekopie um
  2. $ svn checkout current_copy # Überprüfe es erneut
  3. $ cp copy_back/current_copy # Stellen Sie Ihre Änderungen wieder her

Ich hatte ein ähnliches Problem. Am Ende habe ich es aus dem Orbit entfernt und dabei meine SVN-Geschichte verloren. Aber zumindest habe ich diesen verdammten Fehler behoben.

Dies ist wahrscheinlich eine suboptimale Folge von auszuführenden Befehlen, aber sie sollte ziemlich genau der Folge von Befehlen folgen, die ich tatsächlich ausgeführt habe, um die Dinge zum Laufen zu bringen:

cp -rp target ~/other/location/target-20111108
svn rm target --force
cp -rp ~/other/location/target-20111108 target-other-name
cd target-other-name
find . -name .svn -print | xargs rm -rf
cd ..
svn add target-other-name
svn ci -m "Re-re-re-re-re-re-re-re-re-re import target"
svn mv target-other-name target
svn ci -m "Re-re-re-re-re-re-re-re-re-re import target"
3
Brad Knowles

Wenn du benutzt code.google.com, um Ihr Subversion-Repository zu hosten.

Sie wissen unter Dinge, nicht wahr?

If you plan to make changes, use this command to check out the code as yourself using HTTPS:

# Project members authenticate over HTTPS to allow committing changes.
svn checkout https://.../svn/trunk/ user-...

When prompted, enter your generated googlecode.com password.
Use this command to anonymously check out the latest project source code:

# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout http://.../svn/trunk/ ...-read-only

Der Fehler, den Sie genau erwähnt haben, verwendet Non-members may check out a read-only working copy anonymously over HTTP Status. Daher können Sie noch nichts festschreiben oder tun.

Du musst benutzen Project members authenticate over HTTPS to allow committing changes Sache.

Es wird jetzt gut.

1
Huy Tower

Ich bin auf dasselbe Problem gestoßen und konnte es folgendermaßen beheben:

  1. Kopieren Sie den Ordner an einen anderen Ort.
  2. Löschen Sie .svn aus dem kopierten Ordner
  3. Klicken Sie mit der rechten Maustaste auf den ursprünglichen Ordner und wählen Sie "SVN Checkout".
  4. Wenn Sie (3) nicht finden können, unterscheidet sich Ihr Fall von meinem.
  5. Überprüfen Sie, ob das Verzeichnis im REPO-BROWSER korrekt ist. Für meinen Fall war dies die Ursache.
  6. Auschecken
  7. Holen Sie sich die Dateien aus dem kopierten Ordner in das ursprüngliche Verzeichnis zurück.
  8. Verpflichten.
0
user3010191

Dies bedeutet, dass der Ordner/die Datei, den/die Sie auf svn ablegen möchten, bereits dort vorhanden ist. Mein Rat ist, bevor Sie etwas tun, klicken Sie mit der rechten Maustaste auf den Ordner/die Datei und klicken Sie auf Repo-Browser. Auf diese Weise können Sie alle Dateien/Unterordner usw. sehen, die bereits auf svn vorhanden sind. Wenn die erforderliche Datei/der Ordner nicht auf dem SVN vorhanden ist, löschen Sie einfach (nach dem Sichern) die Datei, die Sie hinzufügen möchten, und führen Sie dann ein Update aus.

0
Kaveesh Kanwal

Das aktuell hinzugefügte Verzeichnis ist bereits im Repository festgeschrieben. Löschen Sie daher das Verzeichnis im Repository und schreiben Sie dasselbe Verzeichnis erneut fest.

0
saravanabawa