Dies ist der Befehl cvsconvert, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
cvsconvert – Führen Sie eine Git-Konvertierung durch und testen Sie sie mit dem CVS-Original
ZUSAMMENFASSUNG
cvsconvert [-v] [-n] [-p] [-k expandspec] [repo | Repo/Modul]
BESCHREIBUNG
cvsconvert führt eine Konvertierung eines CVS-Repositorys nach Git durch und überprüft den Bauminhalt
Überprüfen Sie bei allen Verzweigungstipps und Tags, ob die Historien identisch sind.
(Eine Ausnahme: Synthetische Gitspace-Zweige mit dem Namen *-UNNAMED-BRANCH, die zum Sammeln erstellt wurden
Obdachlose CVS-Commits werden nicht überprüft. Wenn einer dieser Punkte auftritt, wird eine Warnung angezeigt
übersprungen.)
Das einzelne Argument muss ein Pfad zu einem Verzeichnis sein, das ein CVS-Repository oder -Modul enthält.
Wenn es sich um ein CVS-Verzeichnis der obersten Ebene handelt und sich nur ein Modul darunter befindet, ist das Modul erforderlich
nicht angegeben werden.
Die Git-Konvertierung verbleibt in einem Verzeichnis, das nach dem Repo-Argument benannt ist, mit dem Suffix
„-git“.
Das normale Verhalten besteht darin, dass das Programm zu jedem Zweig und Tag meldet und sagt: „Bäume stimmen überein.“
wie erwartet". Es gibt zwei Arten von Problemberichten:
"Datei manifestiert nicht Spiel": Zeigt an, dass die CVS- und Git-Versionen dieser Revision in sind
Der Verlauf enthält einige Dateinamen, die nicht miteinander übereinstimmen. (Git und CVS
Ignore-Pattern-Dateien werden ignoriert und lösen diese Meldung nicht aus.) Wenn diese Meldung angezeigt wird
auftritt, werden gemeinsame Dateien weiterhin auf Gleichheit überprüft.
"%S machen %s sind anders": Zwei entsprechende CVS- und Git-Dateien sind im Vergleich nicht gleich. A
Die Diff-Auflistung folgt.
FEHLERBEHEBUNG
Es gibt zwei Arten von nicht schwerwiegenden Konvertierungsfehlern: Nichtübereinstimmung des Dateiinhalts aufgrund von
erweiterte Schlüsselwortfelder in Mastern und in CVS gelöschte Dateien, die nur in der Datei vorkommen
Mit Tags verknüpfte Gitspace-Manifeste.
Sie können Content-Diskrepanzen aufgrund der Keyword-Erweiterung leicht erkennen. Sie werden produzieren
Einzeilige Differenzen von Zeilen, die Dollarzeichen enthalten, die den Schlüsselworttext umgeben. Weil
Binärdateien können durch Schlüsselworterweiterung beschädigt werden, standardmäßig verhält sich cvs-fast-export
wie der cvs -kb-Modus und führt keine eigene Schlüsselworterweiterung durch. Das sollten Sie also tun hört niemals sehen
so Fehlpaarungen es sei denn, Sie haben eine -k-Option übergeben.
Möglicherweise möchten Sie jedoch -kk übergeben, wenn (a) Sie glauben, dass die CVS-Master Folgendes enthalten könnten
Sie haben erweiterte Schlüsselwortfelder, möchten diese aber nicht manuell bereinigen, und (b) Sie sind zuversichtlich
Ihr Repository enthält keine Binärdateien, die möglicherweise falsch mit einem RCS/CVS-Schlüsselwort übereinstimmen. Wenn du
Wenn Sie mit Annahme (b) falsch liegen, erhalten Sie Warnmeldungen über inhaltliche Nichtübereinstimmungen
in den Binärdateien.
Offensichtliche Nichtübereinstimmungen bei Tags treten am wahrscheinlichsten bei Dateien auf, die in CVS gelöscht wurden
bleiben aber unter späteren Tags in der Git-Konvertierung bestehen. Sie können darauf wetten, dass genau das hier vor sich geht
Wenn Sie bei der Suche nach dem Pfadnamen im CVS-Repository diesen auf einem Dachboden finden
Verzeichnis.
Diese falschen Berichte entstehen, weil CVS nicht immer genügend Informationen speichert
Verfolgt Löschungen zuverlässig und ist bei der Handhabung von „toten“ Revisionen etwas unzuverlässig.
Damit Ihre CVS- und Git-Repos perfekt zusammenpassen, müssen Sie möglicherweise „add delete fileops to“ verwenden
die Konvertierung - oder, was wahrscheinlicher ist, bestehende zurück entlang ihrer Zweige in Commits verschieben
die älter sind als das Gitspace-Tag - using reposurgeon(1).
Offensichtliche Nichtübereinstimmungen in die andere Richtung (in CVS vorhanden, in Gitspace nicht vorhanden) sollten auftreten
kommen nie vor. Wenn dies der Fall ist, senden Sie einen Fehlerbericht.
Jede andere Art von Inhalts- oder Manifestübereinstimmung – insbesondere aber jede im Master-Zweig – gilt
schlechte Nachrichten und weist entweder auf eine schwerwiegende Repository-Fehlfunktion oder einen Fehler im cvs-fast-export hin
(oder möglicherweise beides). Jede solche Situation sollte als Fehler gemeldet werden.
Konvertierungsfehler treten unverhältnismäßig häufig bei älteren Versionen, Zweigen oder Tags auf
bevor CVS zuverlässige Commits hatte. Oftmals ist die wirksamste Lösung einfach das Löschen
Junk-Zweige und -Tags; reposurgeon(1) macht dies einfach.
Wenn Sie einen Fehler melden müssen, besuchen Sie bitte die Projektwebsite, um mehr darüber zu erfahren
Verfahren zum Melden von Fehlern. Bei der Erstellung des Berichts können Sie bestimmte Maßnahmen ergreifen
eine schnelle Lösung des Problems wahrscheinlicher machen.
OPTIONAL
-p
Aktivieren Sie Fortschrittsberichte von cvs-fast-export während der Ausführung.
-k
Übergeben Sie eine Schlüsselworterweiterungsspezifikation an cvs-fast-export(1) und cvs(1).
-n
Nur zum Testen. Behalten Sie die Git-Konvertierung nach der Ausgabe der Diagnose nicht bei.
-v
Ausführlich. Unterbefehle während ihrer Ausführung sowie verschiedene Debugging-Meldungen anzeigen.
-q
Weisen Sie cvs-fast-export an, leise zu laufen.
EINSCHRÄNKUNGEN
Dieses Programm kommt nicht problemlos zurecht, wenn CVS-Tagnamen verwendet werden mussten, die für Git nicht zulässig sind
während der Konvertierung desinfiziert.
Aufgrund der Art und Weise, wie dieses Programm die Anforderungen von CVS an ein CVSROOT-Verzeichnis umgeht, ist es
In diesem Fall ist eine Verzeichnisschreibberechtigung für das Repository-Verzeichnis erforderlich.
andernfalls wird es nach der CVS-Meldung „Verzeichnissperre im Repository konnte nicht erhalten werden“ abgebrochen. Der
Der Inhalt des Repositorys wird nicht geändert.
Das Programm benötigt die Option cvs -R, um schreibgeschützt auf das Repository zuzugreifen. Es wird also
schlägt bei Versionen von GNU CVS fehl, die älter als 1.12.1 (2005) sind und über diese Option nicht verfügen.
REPORTING Fehler
Fehler an Eric S. Raymond melden[E-Mail geschützt] >. Die Projektseite ist unter
http://catb.org/~esr/cvs-fast-export
Verwenden Sie cvsconvert online über die Dienste von onworks.net