Frage

Meine Firma geschaltet unwissentlich von cvs zu Subversion und jetzt sind wir alle wollen wir wieder cvs hatte. Ich weiß, dass es Werkzeuge Geschichte und Änderungen von cvs zu SVN migrieren und es gibt kein Äquivalent das Gegenteil zu tun. Irgendwelche Vorschläge oder Ideen, wie dies zu tun?

War es hilfreich?

Lösung

Ich habe ursprünglich die als Kommentar zu einem anderen Person Antwort, aber dann realisiert, dass es war eine Antwort, die Arten. Ich habe vor, diese Art von Übergängen durchgeführt, in denen es keine bestehenden Weg war von einem SCM-System in ein anderes zu konvertieren.

Es ist kein Hexenwerk, ein Skript zu schreiben, die die Liste der Commits aus dem SVN-Repository nimmt, und durchläuft sie einen nach dem anderen, so dass sie in eine neu erstellte CVS-Repository zu verschmelzen. Immer alle Zweige und Tags genau richtig vielleicht ein bisschen mehr Arbeit, aber wenn Sie wollen nur die Versionshistorie für ein paar Zweige sparen, sollte es ziemlich einfach sein.

Ich bin auch der Meinung, dass man nicht wirklich etwas gewinnen durch die Umstellung auf CVS zurück, aber wenn Sie dies tun mögen, dann werden Sie wahrscheinlich ein eigenes Skript schreiben. Der „svn export“ Befehl wird zweifellos in diesem Bestreben nützlich sein.

Andere Tipps

Also, was ist mit SVN, dass Ihr Unternehmen nicht mag so viel und CVS besser? Die Designer von SVN gingen aus dem Weg, um die SVN Erfahrung ziemlich ähnlich wie CVS zu machen. Wenn Sie die Schildkröte-Client als Frontend verwenden, ist die Erfahrung sehr ähnlich. SVN gibt Ihnen Atom-Commits, die zwar nicht ganz auf dem Niveau von Perforce Meilen vor CVS ist.

Ich habe mit Ihrer Notlage sympathisieren. Ich habe ein Upgrade unser Entwicklungsteam und IT-Team von CVS zu SVN. Ich habe alle die richtigen Skripte Python alle Versionshistorie zu aktualisieren, und wir haben SVN benutze glücklich fast 4 Jahren. Vor etwa drei Monaten beschloss der IT-Teamleiter, ein „Upgrade“, um alle seine Projekte aus dem SVN, was zu erraten? Das ist richtig, die schweren Heber der Versionskontrollsysteme: Source

Ich würde auf jeden Fall mit SVN-Stick oder sogar bei einigen der neueren verteilten Systemen wie Mercurial aussehen. Bei diesen Systemen gibt es keinen zentralen Server. Sie berufen sich auf in der Lage zu verzweigen und über Dutzende oder Hunderte von Kollegen zusammenführen. Sie definieren Ihre eigene Topologie, so zum Beispiel, würden Sie einen bestimmten Peer als derjenige angeben, baut führt täglich.

Das glaube ich nicht die Werkzeuge in die andere Richtung gehen existieren, weil es für sie nicht viel Nachfrage ist.

Wenn Sie es wirklich tun müssen, sollte es nicht sehr schwer sein, einen Skript zu schreiben, die die Geschichte des SVN Repo geht durch, jede Revision bekommen und es zu CVS zu begehen.

BTW, ich bin wirklich daran interessiert zu wissen, welche Probleme Sie mit SVN haben.

SVN ist nicht groß. SVN ist besser als CVS. Wenn Sie möchten, Kasse Mercurial ändern, GIT, Basar.

Ein Aspekt git diskutiert nicht, wenn es um Ihre Aufmerksamkeit in all diesen anderen Antworten gebracht wurde: git eine CVS-Server-Emulation, so dass Sie zu git migrieren könnten (SVN zu Git ist einfach und gut unterstützt) und verwendet später eine cvs Server-Schnittstelle auf das Repository in einer zentralisierten Weise für den Zugriff. Niemand muss wissen, dass Sie git im Hintergrund verwenden und Sie müssen nicht mit verteilten Backup-Probleme behandeln.

Nicht ein Upgrade. Tun Sie dies nicht tun.

Im Ernst, warum würden Sie es vorziehen, CVS zu SVN? CVS ist buchstäblich ein Spielzeug, das Team zu ermöglichen, gibt vor, ohne explizite Kommunikation zu arbeiten. Es ist wirklich schrecklich.

Wenn Sie etwas anderes als SVN für welchen Gründen auch immer benötigen, schauen Sie sich andere Versionskontrollsysteme. Es gibt viele, und sie sind fast alle besser als CVS (in der Tat nur Visual Source Safe ist als schlecht).

Ihre Optionen sind wahrscheinlich realtively begrenzt. Denken Sie daran, dass die aktive Entwicklung von CVS vor einer Weile aufgehört, so gibt es wahrscheinlich keine Werkzeuge für Sie aus dem CVS-Entwickler. Und da eines der Hauptziele der SVN ein besseres CVS sein sollte, werden die Entwickler wahrscheinlich nicht, dass jemand zu erwarten rückwärts entweder zu bewegen.

Aber wenn Sie nicht Subversion mögen, warum nicht einen Blick auf die modernere verteilten Systemen (git, Mercurial usw.)?

, wenn alles, was Sie haben Hammer ist, sieht alles aus wie ein Nagel.

Am besten ist es zu lernen, svn es mehr Wissen machen.

Vereinbaren Sie mit Korporal Touchy.

SVN ist besser als CVS, weil es wurde entwickelt, um - es ist ungefähr das Gleiche, mit einigen Vereinfachungen und neuen Features

.

Mit Svn, können Sie verschieben / Umbenennen einer Datei, ohne seine Geschichte zu verlieren; Sie erhalten sicherer Commits (Commits sind atomare Operationen) und globale Revisionen.

Wie auch immer, versucht, um zu wissen, ist es besser, bevor zu CVS und noch besser swithing zurück, versuchen Sie wirklich Ihre Bedürfnisse als ein Team für ein Endlager zu verstehen.

PS: Ich denke, Gefreite sprach über Mercurial

svn sollte besser sein als cvs aber in einigen Bereichen, die nicht gut funktionieren. Die anderen verteilten Tools sind viel schneller (SVN langsam wie die Hölle ist, auch cvs kann schneller manchmal sein), haben viel mehr nützliche Funktionen, als svn, entwickeln sich schnell (während jede neue Funktion in SVN zu sehen dauert Jahre). Auf der anderen Seite svn recht einfach zu erlernen und zentralisiert ist (dies ist für manche Leute wichtig ist).

svn Team auf eigene Agenda fokussiert ist, dann ist es sehr schwer, Unterstützung von den Entwicklern zu bekommen (zu anderen Open-Source-Projekten zu vergleichen), gibt es einig Bug-Report für lange Zeit ohne Interesse von Entwicklern.

Ich bin enttäuscht durch, wie svn Projekt aussieht und wie es aber gut entwickelt ist, vielleicht, dass in Zukunft ändern.

die nur zwei Nachteile der Subversion kann ich Mitglieder halten von CVS kommen, sind

  • die Geschwindigkeit der Kassen über http (s)
  • das Fehlen modulaliases

die erste kann mit SVN (+ ssh) gelöst werden, die mehr vergleichbar Format ist wie CVS sein eigenes Protokoll auch verwendet. der zweite ist ein wenig komplizierter, kann aber durch svn emuliert werden: Äußerlichkeiten (die ihre eigenen böse Nebenwirkungen haben) Wenn Sie weitere zusätzliche Nachteile auftreten, bin ich ganz Ohr ..

Nur achten Sie auf einen Punkt: Bazzar, Mercurial usw. (die von einigen Leuten hier empfohlen wurden) sind alle verteilten Versionskontrollsysteme. Ich fand es fast unmöglich, große Gruppen von Programmierern zu verwalten, die auf dem gleichen Quellcode arbeiten, diese Art von Werkzeugen. In meiner Firma verwenden wir SVN und es ist eine wunderbare Arbeit zu tun.

Keine Ahnung, warum Sie dies tun wollen würden, aber aus dem SVN gehen -> GIT -> CVS könnte funktionieren

Sie würden laufen ..

git svn clone http://thesvnserver ourrepo

die folgende Anleitung Dann mit zurück zu CVS exportieren (nicht ganz sicher, dies funktionieren wird):

http://issaris.blogspot.com /2005/11/cvs-to-git-and-back.html

git cvsexportcommit 4a20cbafdf25a141b31a8333284a332d1a4d6072

Es gibt auch git cvsserver

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