Frage

Ich bin nach einer Möglichkeit, zwei Revisionshistorien für eine einzelne Datei zu verbinden.

Eines unserer Projekte wurde über RCS verfolgt. Nun lebt dieses Projekt in CVS. Es wurde ursprünglich als ein neues Projekt verpflichtet. Als Ergebnis wird die CVS-Geschichte nicht die älteren Revisionen, die über RCS verfolgt wurden.

Zum Beispiel wurde suppose Datei foo.c 10-mal in RCS überarbeitet, dann 2 mal in CVS. RCS hat den Versionen 1.1 bis 1.10, und CVS hat den Versionen 1.1, 1.2 und 1.3. RCS-Version 1.10 und CVS-Version 1.1 ist identisch.

Ich versuche, eine kombinierte Geschichte zu schaffen, so dass foo.c zeigt 12 Versionen 1.1 bis 1.12. Da CVS speichern Revisionen in demselben Dateiformat wie RCS, sollte es eine einfache Sache von Anfang an mit der bestehenden RCS-Datei sein, dann in den neuen Änderungen mit dem „ci“ Befehl Überprüfung (Erhaltung den Zeitstempels, das Benutzer-IDs und Commit-Nachrichten) . Irgendwelche CVS-Tags müßten auch erhalten bleiben. Diese neue RCS-Datei würde dann die vollständige Geschichte, die dann die CVS-Repository hinzugefügt werden könnte, die alte Version zu ersetzen.

Nehmen wir an, es gibt keine Zweige in dieser Code-Basis. Gerade Gerade Entwicklung.

Ist ein solches Hilfsprogramm bereits vorhanden sind?

War es hilfreich?

Lösung

Ich habe gerade eine Python-Bibliothek geschrieben, EditRCS ( PyPI ), RCS-Dateien zu manipulieren. Das Beispielskript rcs_join wird die erste Revision einer RCS-Datei auf den Kopf eines anderen verbinden und die Filiale und Tag-Versionen aktualisieren.

Hoffentlich das tut, was Sie wollen (obwohl es wahrscheinlich zu spät ist!)

Andere Tipps

Wenn es sich um eine einzelne Datei ist, und Sie müssen nicht eine große Anzahl von Revisionen übertragen, können Sie immer von den alten Versionierungssystem einer Revision zu einer Zeit, Kasse und verpflichten, dass im neuen Versionierungssystem (die meisten Versionierungssystem-Metadaten zusammen können -exist im selben Verzeichnis) ... diese Methode funktioniert, natürlich, was auch immer die Quelle und das Ziel Versionierungssystem ist und das ist, was ich persönlich tat, wenn ich ein Problem ähnlich wie bei Ihnen hatte.

Oder Sie könnten das Tailor Tool versuchen, die von / zu vielen Versionsverwaltungssystemen umwandeln können, obwohl ich weiß wirklich nicht, ob es auch zwei verschiedene Geschichten in einem einzigen „verschmelzen“, wie Sie benötigen.

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