Subversiv: svn: E195016: Cannot merge into a working copy with a switched subtree
Ich habe ein Problem mit Eclipse und Subversiv.
Ich versuche zur Wiedereingliederung einen Zweig von einem Projekt in den Kofferraum.
Diese sind die Operationen, die ich verfolge:
- Switch-trunk-version von der Projekt
- Ich habe sichergestellt, dass es keine ausstehenden Operationen, dabei ein Zurücksetzen und ein Update, um zu gehen von einem "sauberen" Arbeitskopie, perfekt synchronisiert mit der remote-Kopie von dem Stamm
- Ich gehe auf "Team -> Merge ..."
- Ich gehen, um die "Wiedereingliederung" - Registerkarte, und ich wählen Sie das Zweig, dass ich Sie Zusammenführen möchten, in den Kofferraum, zeigt auf "Head revision" der Branche.
- Ich drücken Sie die OK-Taste, aber das ist der Fehler, den ich erhalten:
Merge operation failed.
Can't overwrite cause with org.tmatesoft.svn.core.SVNException: svn: E195016:
Cannot merge into a working copy with a switched subtree
Ich verstehe nicht, was falsch ist.
Ich bin mit diesem Eclipse und SVN-Konfiguration:
Eclipse Java EE IDE for Web Developers.
Version: Neon.1 Release (4.6.1)
Build id: 20160913-0900
Subversive SVN Team Provider 4.0.3.I20161129-1700
SVNKit 1.8.14 Implementation (Optional) 6.0.3.I20161124-1700
SVN 1.9
Vielen Dank im Voraus.
- Es gibt zwei Fragen hier: Wie kamst du in diesen Zustand? und Wie erholst du dich?
- Dies ist ein altes Problem, das ich hatte, als ich mit Eclipse Neon. Der Wechsel zu STS habe ich noch nie gesehen, diese Fehler nicht mehr.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht genau, warum es dieses Problem, aber ich merkte, dass es tritt auf, wenn führen wir einige "Schalter" Vorgänge zwischen den Zweigen vor den Merge-Vorgang.
Einige Gründe, in dieser situation ist es vermieden zu der Durchführung einer Zusammenführungsoperation.
Den "workaround", den ich gefunden habe, ist zum ausführen der merge-Vorgang auf eine saubere Kopie der Stamm, nach dem SVN-checkout des Rumpfes, ohne alle Schalter Betrieb.
In diesem Weg, der Fehler nicht mehr erfolgt.
Es ist nicht eine praktische Lösung, aber es funktioniert.
Wiedereingliederung mergen in SVN 1.8 und höher werden automatisch durchgeführt, standardmäßig. Automatische Wiedereingliederung Zusammenführung kann nicht durchgeführt werden, falls Ihre Arbeitskopie gemischte Revisionen oder hat umgeschaltet Pfade.
SVNKit sein könnten anders von den eigentlichen Apache-Subversion, wenn.
Lesen über automatische Zusammenführungen in SVNBook:
Ich glaube, ich habe gefunden zwei Wege, um in die E195016: Cannot merge into a working copy with a switched subtree Zustand.
1) Wechseln Sie aus dem Stamm zu einem ast (mit edits und commits), dann wechseln Sie zu einem anderen Zweig (mit edits und commits), dann-Schalter, um den Stamm und versuchen, eine Wiedereingliederung in den Zweigen.
Tipp: wechseln Sie Niemals zwischen die Zweige, immer wechseln Sie zurück in den Stamm zwischen die Zweige.
2) Versehentlich Bearbeiten Sie in den Kofferraum und dann erkennen Sie Ihren Fehler. Wiederherstellen der Stamm, erstellen Sie einen Zweig (mit Schalter, änderungen, und verpflichtet), wechseln Sie zurück in den Kofferraum und dann versuchen, die Wiedereingliederung der Branche.
Tipp: Nie wieder die Stamm. Verwenden Sie die Ersetzen durch Neueste aus dem repository aus der (Rechte Maustaste) Kontextmenü statt.
Ich fand nur ein Weg, um die zuverlässige Wiederherstellung von diesem Zustand.
Backup wird nicht verwendet, wenn Sie erfolgreich wiederhergestellt werden, es ist nur ein Sicherheitsnetz, wenn Sie einen katastrophalen Fehler.
In meinem Fall, ersetzen Sie das Projekt bedeutet die Schaffung eines neuen Projekt aus dem SVN und mit der option, um das Projekt abzuschließen mit einem neuen Projekt-Assistenten (PyDev-Projekt in meinem Fall). In Ihrem Fall, Sie brauchen, um zu entwickeln Ihre eigene recovery-Methode. Vergessen Sie nicht, schreiben Sie es auf.
Natürlich können Sie wählen, um zu starten, einen völlig neuen Arbeitsbereich statt. Wenn Sie wählten diesen Ansatz, vergessen Sie nicht, exportieren Sie Ihre Einstellungen und Ihre Trägerraketen (als ein minimum), so können Sie importieren Sie Sie in den neuen Arbeitsbereich. So haben Sie immer noch Ihre gewohnte Konfiguration.