Wie entferne ich mit TortoiseSVN einen Ordner aus der Quellcodeverwaltung?

129

Wie entferne ich einen Ordner aus der Quellcodeverwaltung mit TortoiseSVN ?

Chance
quelle
10
Gute Frage. Dies ist für eine einfache Aufgabe lächerlich kompliziert.
Paul Suart
Ein Hinweis für alle, die "SVN Update to revision" (anstelle von svn checkout) verwendet haben: Versuchen Sie erneut, SVN Update to revision zu verwenden, diesmal jedoch mit "Update Depth" auf "Exclude".
Wallace Brown
Sie können .svnverwandte Ordner löschen
ahmednabil88
Ich habe mich immer gefragt, ob es unter Windows / Tortoise in Ordnung ist, einen lokalen Ordner auf dem PC ganz einfach zu löschen . Es gibt also ein Repo-REPO auf Ihrem Server. Und Sie haben zufällig eine Version davon auf Ihrem PC, LOCALFOLDER. Sie brauchen diese lokale Version auf diesem PC einfach nicht mehr. In diesem Fall lösche ich einfach den Ordner LOCALFOLDER auf dem PC. (Ich mache überhaupt nichts aus dem Tortoise-Menü, bevor ich LOCALFOLDER in den Papierkorb schmeiße.) Um klar zu sein, ich möchte REPO in keiner Weise beeinflussen - ich möchte / brauche die LOCALFOLDER-Version einfach nicht mehr. Ich habe mich immer gefragt, ob das in Ordnung ist.
Fattie
Oder behält Tortoise "etwas anderes" irgendwo auf dem PC, so dass Tortoise von nun an das Gefühl hat, dass LOCALFOLDER fehlt?
Fattie

Antworten:

56

Im erweiterten Kontextmenü befindet sich ein spezielles Element:

  • Halten Sie die ShiftTaste gedrückt und klicken Sie mit der rechten Maustaste auf den Ordner.
  • Klicken Sie im TortoiseSVN-Menü auf "Löschen (lokal bleiben)".

Geben Sie hier die Bildbeschreibung ein

Das Bild wurde von der erweiterten Kontextmenüseite von TortoiseSVN abgeschnitten .
Löschen Sie den Klappentext der Dokumentation.

Bob Esponja
quelle
4
Eigentlich ist das STRG + UMSCHALT, wenn Sie mit der rechten Maustaste auf den Ordner klicken. Komm schon, Stackoverflow, warum habe ich diese Antwort unten gefunden?
Hollystyles
4
Welche Version benutzt ihr? Version 1.6.12 hat keine Option zum Löschen (lokal bleiben). Weder Umschalt noch STRG + Umschalt helfen.
Thehhv
1
Ich habe es gerade noch einmal überprüft und nur Umschalt + Rechtsklick funktioniert für mich. @thehhv Version 1.6.10 hat noch die Option.
Bob Esponja
1
Tolle Antwort. Umschalt + Klick funktioniert tatsächlich mit 1.6.10. Danach müssen Sie die Datei noch festschreiben, damit sie aus dem Remote-Repo verschwindet.
hotshot309
2
Dies sollte als Antwort markiert werden, da dies der einfachste Weg ist, TortoiseSVN
alejosoft
176

Der einfachste Weg wird hier beschrieben: http://tortoisesvn.net/unversion.html

Dieser Artikel ist ein bisschen wortreich und einige der Methoden haben bei mir nicht funktioniert (wie das Ziehen des Ordners auf sich selbst - Windows 7 würde es nicht zulassen).

Folgendes hat in dem Artikel für mich funktioniert:

Einfach: Wenn Sie mit der rechten Maustaste auf eine Arbeitskopie klicken und im Kontextmenü " Exportieren ..." auswählen , wird ein Dialogfeld zum Durchsuchen von Ordnern angezeigt, in dem Sie den Ordner auswählen können, in den die Arbeitskopie exportiert werden soll. Wenn Sie jetzt denselben Pfad auswählen, auf dem sich Ihre Arbeitskopie als Ziel befindet (dh Sie exportieren die Arbeitskopie auf sich selbst), entfernt TortoiseSVN alle .svn-Ordner dieser Arbeitskopie.

Stefan
quelle
3
Stefan, ich habe die von Ihnen beschriebene Prozedur ausprobiert und TSVN zeigt mir das Dialogfeld "Unversion" (mit einem Fortschrittsbalken, der den Fortschritt anzeigt), aber nach Abschluss des Vorgangs ist der Ordner derselbe wie zuvor. Ich habe Win7 und der Ordner befindet sich auf einer Netzwerkfreigabe. Könnte dies etwas damit zu tun haben, dass die Prozedur (stillschweigend) fehlschlägt? (+1 sowieso, weil dieses Verfahren genau das ist, was ich brauche)
Heinrich Ulbricht
Es sollte nicht lautlos scheitern. Sind Sie sicher, dass die versteckten .svn-Ordner noch vorhanden sind?
Stefan
Ja, ich kann sie sehen. Mein ursprüngliches Problem ist, dass ich ein ganzes ausgechecktes Verzeichnis (einschließlich Unterverzeichnisse) auf der Netzwerkfreigabe entfernen möchte. Dies ist fehlgeschlagen, weil Windows sagt, dass jemand die Dateien verwendet. Also dachte ich, es könnte der SVN-Cache sein und dass ich mit einer Methode aus der TSVN-Welt dieses Zugriffsproblem lösen könnte. Aber kein Glück :(
Heinrich Ulbricht
1
Um zu vermeiden, dass Sie einem Link folgen müssen, wird der Vorgang hier wiederholt: Einfach: Wenn Sie mit der rechten Maustaste auf eine Arbeitskopie klicken und im Kontextmenü "Exportieren ..." auswählen, wird ein Dialogfeld zum Durchsuchen von Ordnern angezeigt, in dem Sie die Option auswählen können Ordner, in den die Arbeitskopie exportiert werden soll. Wenn Sie jetzt denselben Pfad auswählen, auf dem sich Ihre Arbeitskopie als Ziel befindet (dh Sie exportieren die Arbeitskopie auf sich selbst), entfernt TortoiseSVN alle .svn-Ordner dieser Arbeitskopie.
Charley Rathkopf
Als ich dies versuchte, bekam ich Fehler, dass das Verzeichnis, das ich in sich selbst exportiert hatte, jetzt "kein Arbeitsverzeichnis" war und es "blockiert" war und ich sollte aufräumen, aber als ich das versuchte (IIRC), bekam ich einen Fehler, dass das Stammverzeichnis wurde gesperrt. Ich habe endlich einen MOVE (Ziehen Sie den Ordner in einen Nicht-SVN-Ordner und wählen Sie im Dropdown-Menü "Exportieren ...") und dann einen Delete (beide mit Tortoise).
Clay Nichols
12

Wenn Sie den Ordner aus der Quellcodeverwaltung entfernen möchten, ihn aber lokal behalten möchten, ist dies am einfachsten

  1. Erstellen Sie eine Sicherungskopie des Ordners (kopieren Sie ihn einfach an eine andere Stelle).
  2. Folgen Sie den Anweisungen zum Löschen
  3. Stellen Sie den Ordner wieder her
  4. Weisen Sie die Subversion an, den Ordner zu "ignorieren"

Sie sollten auch das .svnVerzeichnis löschen , das in dem Ordner, den Sie entfernen, herumwirbelt, da Sie sonst svn / tortoise verwirren. Sie können auch einen "Export" für Schritt 1 durchführen, bei dem alle .svnVerzeichnisse für Sie entfernt werden (wenn Sie dies für einen ganzen Verzeichnisbaum anstatt für ein einzelnes Verzeichnis tun, ist dies viel praktischer als das manuelle Bereinigen der Ordner). .

AwesomeTown
quelle
1
Für (1) können Sie exportieren, um die SVN-Daten der Kopie zu entfernen.
Dahlbyk
Richtig - Sie müssen es über TortoiseSVN löschen, wiederherstellen und dann alle svn-Ordner in der Datei (sowie die .version) löschen.
Chance
* und dann ignoriere es - es hat aber wie ein Zauber funktioniert (danke)
Chance
Wenn ich es nur exportiere, werden das SVN-Repository und die grünen Häkchen in dem Ordner, die ich wollte, entfernt.
Hammad Khan
7

Das TortoiseSVN-Menü verfügt über eine Exportoption, mit der Sie eine Kopie des vom Repository getrennten Ordners erhalten. Alternativ können Sie mit der rechten Maustaste auf einen Ordner klicken und ihn ziehen und entweder "SVN-Export nach hier" oder "SVN-Export nach hier" auswählen.

"Alle exportieren" entspricht der Auswahl von "Auch nicht versionierte Dateien exportieren" im Dialogfeld "Exportieren", wodurch die Arbeitskopie effektiv ohne die .svn-Ordner geklont wird.

Dahlbyk
quelle
6

Klicken Sie mit der rechten Maustaste auf das Verzeichnis und gehen Sie zu TortoiseSVN -> Löschen . Sie klicken dann mit der rechten Maustaste auf das übergeordnete Verzeichnis und SVN Commit ... und der Ordner wird entfernt.

Sean Bright
quelle
2
Dadurch wird auch der Ordner gelöscht.
Tunnuz
Dies war die Antwort, nach der ich gesucht habe ... Ich habe sie auch hier gefunden: tortoisesvn.net/docs/release/TortoiseSVN_en/…
Sehr unregelmäßig
2

Windows-Suche, System- und versteckte Datei-Flag setzen ... Dateiname ".svn" ... nach der Suche - sortieren, damit alle .svn-Verzeichnisse zusammen gruppiert werden ... markieren - Löschen drücken :)

Jason P Sage
quelle
2

Ich habe den Schildkrötenbefehl "Update auf SVN 1.7" ausgeführt, bei dem alle .svn-Ordner in einem einzigen Ordner zusammengefasst wurden. Ich konnte dann nur den einen .svn-Ordner löschen und alles war gut zu gehen!

jhilden
quelle
2

Ich sehe, dass es drei einfache Methoden gibt, um eine lokale Version einer Datei (oder eines Verzeichnisses) mit TortoiseSVN zu überprüfen und zu behalten :

  1. Exportieren auf demselben Weg wie Stefan ;
  2. Funktion "Löschen (lokal behalten)", auf die mit der Umschalttaste als Antwort von Bob Esponja zugegriffen wird ;
  3. Unversion und Hinzufügen, um die Listenoption zu ignorieren, die ich mit dieser Antwort berichte

Ich finde die letztere Methode die einfachste der drei, während die erste (die am meisten gewählte) die am längsten auszuführende Operation ist.

Zac
quelle
2

Löschen Sie den Ordner .svn in dem Ordner, den Sie aus der Versionskontrolle entfernen möchten.

Akerra
quelle
1

Das hat bei mir funktioniert:

  1. Klicken Sie mit der rechten Maustaste auf den Ordner / Zweig, den Sie löschen möchten, und verwenden Sie TortoiseSNV-> Löschen
  2. Führen Sie eine Bereinigung durch. Ich habe das von der Kommandozeile aus gemacht svn cleanup <path to the folder to delete including folder name>. Andernfalls können Sie mit der rechten Maustaste auf den Ordner klicken und eine Bereinigung durchführen.
  3. Wechseln Sie in das übergeordnete Verzeichnis des Ordners, den Sie löschen möchten, und übernehmen Sie die Änderungen.

Dadurch sollte der Ordner aus Ihrem Arbeitsverzeichnis und aus Subversion entfernt werden.

Zen
quelle
1

Das Exportieren des Ordners an einen neuen Speicherort bei ausgewählter Option "Nicht versionierte Dateien exportieren nach" hat bei mir hervorragend funktioniert. TortoiseSVN entfernt alle Subversion-spezifischen Einstellungen und Sie erhalten einen sauberen Ordner. Jetzt können Sie den ursprünglichen Ordner löschen und den neuen exportierten Ordner dorthin verschieben.

Rehan Farooq
quelle
0

Hin und wieder stoße ich auf Arbeitskopienordner von Subversion, von denen ich weiß, dass sie länger unter Versionskontrolle stehen sollen. Ich möchte sie "umkehren". Normalerweise suche und lösche ich alle .svn-bezogenen Ordner, aber es gibt einen einfacheren Weg, wenn Sie TortoiseSVN installiert haben.

Sie sollten mit dem Befehl „Exportieren“ vertraut sein. Dadurch wird eine Kopie der Dateien an einem neuen Speicherort ohne all diese lästigen .svn-Ordner erstellt. Wenn Sie etwas "unversionieren" möchten, aber keine Kopie möchten, führen Sie einfach einen "Export" durch. Wenn Tortoise nach dem "Ordner zum Exportieren" fragt, wählen Sie einfach denselben Ordner aus, in dem sich Ihre Arbeitskopie befindet! Tortoise entfernt alle .svn-Ordner.

Zitat: http://thecrumb.com/2008/09/25/removing-svn-files-with-tortoisesvn/

Sieg
quelle
-1

Klicken Sie mit der rechten Maustaste auf eine Arbeitskopie und wählen Sie "Exportieren ..." aus dem Kontextmenü. Ein Dialogfeld zum Durchsuchen von Ordnern wird angezeigt.

Sie müssen denselben Pfad wählen, auf dem sich Ihre Arbeitskopie befindet, als Ziel. TortoiseSVN fragt Sie, ob Sie alle .svn-Ordner dieser Arbeitskopie entfernen möchten. Sagt nur ja!

Heyjee
quelle