Wie kann ich eine Mercurial-Revision einfügen oder ändern?

8

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 ?

eingefügt habe?

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.

    
Asa Ayers 27.08.2010, 23:11
quelle

2 Antworten

5

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:

  1. Erstellen Sie ein neues Repository, dessen einzige Revision das .hgignore-Commit ist.
  2. Erstellen Sie eine Splicemap-Datei, die zwei 40-char-Hashes enthält: rev 0 Ihrer aktuellen Datenbank und rev 0 Ihrer neuen Datenbank.
  3. Ausführen 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%     
Mark Tolonen 28.08.2010, 00:10
quelle
0

Vielleicht könntest du .hgignore committen und dann das Commit an den Anfang des Verlaufs rebasieren (siehe Ссылка ).

    
Gintautas Miliauskas 07.09.2010 14:25
quelle

Tags und Links