Ich habe ein großes CVS-Repository mit Dateien in ISO-8859-1
und möchte dies in git konvertieren.Konvertieren Git Repository-Datei Codierung
Sicher kann ich Git zur Verwendung ISO-8859-1
für die Codierung konfigurieren, aber ich möchte es in utf8
haben.
Jetzt mit Tools wie iconv
oder recode
kann ich die Codierung für die Dateien in meinem Arbeitsbaum konvertieren. Ich könnte dies mit einer Nachricht wie converted encoding
begehen.
Meine Frage ist jetzt, gibt es eine Möglichkeit, die komplette Geschichte zu konvertieren? Entweder bei der Konvertierung von cvs in git oder danach. Meine Idee wäre, ein Skript zu schreiben, das jedes Commit im Git-Repository liest und in utf8
konvertiert und in ein neues Git-Repository schreibt.
Ist das möglich (ich bin unsicher über die Hash-Codes und wie man durch die Commits, Zweige und Tags geht). Oder gibt es ein Werkzeug, das so etwas handhaben kann?
Ja, Sie können den Verlauf neu schreiben, aber wahrscheinlich sollten Sie nicht: Sie sollten nie ein Repository neu schreiben, das Sie bereits irgendwo geschoben haben. Meine Meinung ist: 'iconv' und ein normales Commit ist der richtige Weg. – KingCrunch
Okay, danke @KingCrunch. Aber seit ich das Git-Repository neu erstellt habe, wird es ins Nirgendwo verschoben. Und ich würde auch akzeptieren, ein zweites Repository mit der "utf8" -Encodierung basierend auf der Geschichte des ersten zu erstellen. Das ist im Grunde das Gleiche, statt dass ich das bestehende Repo nicht modifizieren würde. –