Bedeutet "svn switch" immer löschen lokal hinzugefügte Dateien?
Ich brauche einige Klarstellungen über das Verhalten von "svn switch". Ich bin mit der SVN-version 1.6.5.
Vom Lesen der Anleitung, mein Verständnis für das Verhalten ist, dass lokale änderungen werden beibehalten. Also ich würde erwarten, dass ein lokal hinzugefügte Datei noch vorhanden ist in meinem Arbeitsverzeichnis nach svn switch
.
Jedoch, meine Kollegen und ich haben gesehen, mehrere Fälle, in denen neue Dateien werden gelöscht, indem der Schalter. Leider können wir nicht herausfinden, wie zu reproduzieren.
Gibt es einige Umstände (entweder ein feature oder ein bug bekannt), unter denen svn switch
löscht lokal hinzugefügte Dateien?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, es ist eine schlechte Idee zu wechseln, wenn Sie noch nicht übergebenen änderungen. Zuerst Begehen Ihre lokalen änderungen an einem Zweig mit
svn cp . <branch URL>
, und dann wechseln. Es kann sehr kniffligen Situationen kann man sich in sonst.Vorstellen, dass in einer version, die Sie wechseln, um die Dateien, die Sie Hinzugefügt lokal bereits vorhanden sind, und sind völlig anders. Oder, was, wenn Sie ein ganzes Verzeichnis von Dateien, die sich nicht ausreichend zusammengeführt mit den Dateien in der version, die Sie wechseln zu. Wollen Sie wirklich, dass ein großer Konflikt?
Gibt es "S" - Zustand gezeigt, indem
svn status
, was bedeutet, dass verschiedene Teile von deinem source-tree haben unterschiedliche Versionen. Es passiert genau dann, wenn SVN verwechselt wird mit lokalen Veränderungen während der ein-Schalter. Es wird nur gebrochen, in der Mitte des Schalters, und dann ist es ein Schmerz im Nacken zu erholen. Mir mehrmals passiert. Das ist, warum ich immer sicherstellen, dass meine Arbeitskopie keine lokalen änderungen, bevor ich laufensvn sw
.Sollte es nicht löschen, entweder lokal hinzugefügten Dateien oder unversionierten Dateien. Die Grenzfälle sind, in denen ein Verzeichnis verschoben oder entfernt werden, indem der Schalter, aber es sollte ein Baum sein, der Konflikt in diesem Fall.
Was ich oft Tue, wenn ich glaube, es gibt Baum Konflikte, speichern Sie ein patch von meinem aktuellen änderungen. Dann weiß ich das ich wischen kann meine arbeiten kopieren und starten Sie erneut, wenn nötig, ohne zu verlieren meine Arbeit.
svn add
eine Datei, es erscheint im diff selbst überprüfen, bevor Sie es in.Das Verhalten von
svn switch
ist sehr ähnlich zusvn update
: Wenn das Ziel von switch ist ein Pfad, in dem eine Datei fehlt, mit Bezug auf die arbeiten kopieren, werden diese Dateien gelöscht werden aus der Arbeitskopie.Wie Ivan sagte, Sie sollten sich verpflichten, Ihre änderungen und wechseln Sie dann.