Frage

Es kann dumm klingen, aber manchmal laufe ich in Version Konflikte zwischen zwei Versionen von Subversion. Befestige ich ein Verzeichnis auf einem Entwicklungsserver mit sshfs und dann den Code mit meinem lokalen Vim bearbeiten. Für Subversion Sachen wie die Aktualisierung, die zu begehen usw. ich ssh auf dem Server und tun es dort. Ich meine Schalen Aber manchmal mische und versehentlich ein Update tun oder in meinem lokal Shell im montierten Verzeichnis begehen. Subversion beendet mit einem Fehler, was in Ordnung ist. Allerdings, wenn ich versuche, die gleiche Sache auf dem Entwicklungsserver in meiner SSH-Sitzung zu tun, sagt Subversion, dass das Arbeitsverzeichnis / Subversion eine falsche Version hat. Die Subversion-Version auf dem Server ist älter als die Version auf meinem Notebook, so dass ich denke, meine (neuere) Version irgendwie die Arbeitsverzeichnisse aktualisiert, so dass sie mit der alten Version auf dem Entwicklungsserver nicht kompatibel sind. Manchmal Löschen hilft, die .svn / Lock-Dateien, aber nur, wenn ich es richtig, nachdem ich den Subversion-Befehl auf meinem Notebook ausgeführt. Wenn ich den Befehl auf dem Entwicklungsserver danach ausführen, verschwinden die Lock-Dateien und ich sehe keinen Weg, um die Kasse zu retten. Das wäre nicht so schlimm, wenn das Repository nicht so groß ist. Vor allem, wenn ich viele Änderungen vorgenommen und kann sie nicht begehen.

Die einzige Lösung, die ich im Moment sehe, ist die Dateien kopieren ich irgendwo geändert, die Kasse zu entfernen, eine komplett neue Kasse tun und die Dateien zurück zu kopieren.

Gibt es eine bessere Lösung, die eine gebrochene Kasse und / oder meine Änderungen zu retten?

UPDATE Die FAQ Mikael Sundberg verknüpft enthielt die Antwort. Ich schreibe es hier unten, weil er nicht explictictly ist es erwähnen. Es gibt ein Skript, das Upgrade-Repositories degradieren kann, wenn es sicher ist:

http : //svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py

War es hilfreich?

Lösung

Andere Tipps

Ich bin nicht sicher, ob ich das richtig das Problem zu verstehen, aber hier sind ein paar Tipps:

Erste einen Tipp - haben Sie SVN versuchen Sauber Befehl

Der nächste ist wahrscheinlich nutzlos für Sie :), aber viele Menschen verwendet CVS verwenden nicht erkennen, dass SVN-Funktion wie das hat, so dass ich schreibe es auf.

Wenn Sie Windows und Tortoise SVN-Client Sie wählen können Zeige Log Befehl aus dem Kontextmenü (rechte Maustaste). Wenn die Liste des Check-In wählen, erscheint die letzten gut ein und aus dem Kontextmenübefehl auswählen zurückkehren zu dieser Revision .

Im anderen Fall (nicht Windows-noch Tortoise SVN), untersuchen Dokumentation für Kommandozeilen-Version von Befehlen oben beschrieben.

Nächster Tipp könnte Ihnen helfen, vermeiden Sie Ihre Schalen zu mischen.

Sie geschrieben haben, dass Sie SSH-Shell - Probleme zu vermeiden, mit Shell-Sitzungen mischen ich immer andere Hintergrundfarbe für jeden Server verwenden (und Konto), die ich log-in (dh weiß auf schwarz für die Entwicklung, gelb auf Marine auf Testserver und gelb auf grün auf Produktionsserver).

Das spart mir oft:)

.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top