So ersetzen Sie ein Verzeichnis in einem SVN-repository, ohne etwas kaputt zu machen
Muss ich ersetzen ein Verzeichnis in meinem SVN-repository auf den Produktions-server, bin aber nicht sicher, der richtige Weg, dies zu tun, ohne etwas kaputt zu machen. Das Verzeichnis ersetzt wird, ist ein Drittanbieter-Modul-revision, wurde komplett neu strukturiert, damit das upgrade sauber muss ich löschte die alten Ordner/Dateien und ersetzen mit den neuen Verzeichnis und Dateien. Wenn ich dies tun (mit dem Befehl svn delete) der Arbeitskopie behindert wird oder in einem Zustand, der mich daran hindert, festschreiben oder hinzufügen der neuen, nicht versionierten Verzeichnis der Arbeitskopie. Ich habe versucht, svn update, svn cleanup, sowie anderen UI (TortoiseSVN und Eckstein) fix-it-Abkürzungen, kann aber nicht scheinen, um die Dinge neu synchronisiert - ohne zurückrollen zu einer früheren revision oder überprüfung heraus eine neue Kopie.
Ich glaube, dass das Zielverzeichnis auf der lokalen working copy und remote repo gelöscht werden, die Arbeitskopie aktualisiert, wird das neue Verzeichnis Hinzugefügt, um die arbeiten zu kopieren und dann per commit in das repo; aber ich bin nicht sicher über die Einzelheiten oder fehlende Stufen oder Feinheiten, die ich möglicherweise fehlen. Das Modul, das ich bin, das Upgrade ist ziemlich entscheidend, um die Website-Anwendung, so dass ich brauchen, um dieses Recht das erste mal - wie dies gemacht wird, ist auf die Produktion server - und muss schnell erledigt werden. Wenn jemand könnte Karte die Schritte klar, ich würde es wirklich schätzen.
InformationsquelleAutor davmorr | 2011-04-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um dies zu erleichtern, können Sie tun es in einer Weise, die erstellt eine einzige "kaputte" Version, wo das Verzeichnis existiert nicht.
svn up
um Ihre Arbeitskopie aktuellsvn delete <directory>
um loszuwerden, das aktuelle Verzeichnissvn commit -m 'Deleted old module'
svn add <directory>
fügen Sie Ihre neue Verzeichnisstruktursvn commit -m 'Added new module'
Diese Frage hat details zur Verwendung von "Lieferanten-Zweige", die möglicherweise erweisen sich als eine bessere Lösung für Ihre situation.
Ich sehe keinen Grund, warum dies getan werden sollte, in 2 verpflichtet. Sie können einfach tun dies in Ihrer Arbeitskopie, und Begehen es als eine einzelne operation. SVN immer sehen es als "löschen"s +" - fügen Sie"s sowieso nicht, außer für Dateien mit dem gleichen Namen, wird diese pick up als "ersetzt".
InformationsquelleAutor Simon
Es ist straight-forward, dies zu tun mit TortoiseSVN RepoBrowser. Löschen Sie einfach die alten Ordner und ziehen Sie dann den neuen Ordner in.
InformationsquelleAutor Antony Jackson
Wenn Sie wirklich brauchen, die Verzeichnis-Struktur aktualisiert werden in einem commit, könnten Sie mit WinMerge :
InformationsquelleAutor JB Nizet