Wie kann ich r0
so ändern, dass ich .hgignore
hinzugefügt habe, als ich mein Repository erstellt habe oder ein Commit vor meinem aktuellen r0
?
Ich habe gerade einen riesigen SVN-Repo mit hgsvn in mercurial konvertiert. Es dauerte einige Stunden und musste durch ein Dutzend Zweige gehen, um das Ganze zu bekommen. Mein Problem ist jetzt, dass .hgignore
nicht festgeschrieben ist, also wenn ich hgimportsvn
eine Verzweigung habe, scheint die .hgignore
nicht damit zu kommen. Ich möchte diese Datei als Teil von r0
einfügen oder vorher einfügen (und alles um 1 verschieben). Ich habe auch versucht, es am Ende meiner Mercurial Trunk Checkout zu begehen, aber es scheint, hgimportsvn
klont immer (Zweige?) Von der gleichen Mercurial-Revision, aus der mein SVN-Zweig erstellt wurde, damit .hgignore
wieder verloren geht.
Sie benötigen wahrscheinlich etwas wie die ConvertExtension . Überprüfen Sie die Option --splicemap
.
Um einen neuen Verlauf mit einer .hgignore-Datei zu erstellen, die als erste Revision hinzugefügt wurde:
hg convert <current_db_dir> <new_db_dir> --splicemap splice_filename
Dies fügt jede Revision in der aktuellen Datenbank zur neuen Datenbank hinzu. Die Spleiß-Map spezifiziert das Editieren von Eltern, wenn die Revision 0 der aktuellen Datenbank ihren Eltern-Satz auf Revision 0 der neuen Datenbank setzt.
Unten sehen Sie eine Windows-Batch-Datei, die eine 3-Revisions-Datenbank und eine 1-Revisions-Datenbank mit einer .hgignore-Datei erstellt, die diese zusammenfügt. Das Ergebnis sollte das sein, wonach Sie suchen. Wenn Sie eine große Originaldatenbank haben, kann es eine Weile dauern, da der gesamte Verlauf der Quellendatenbank in die Zieldatenbank neu geschrieben wird.
%Vor%Vielleicht könntest du .hgignore committen und dann das Commit an den Anfang des Verlaufs rebasieren (siehe Ссылка ).