Frage Mercurial - sollen .hgtags zusammengeführt werden?


Wenn Sie Änderungen von Repository B in Repository A zusammenführen, sollten Sie Änderungen in .hgtags zusammenführen?

Repository B könnte die Tags 1.01, 1.02, 1.03 haben, die nicht in A sind. Warum würden Sie diese Dateien jemals in die .hgtags-Datei von Repository A einbinden? Wenn wir fusionierten und dann versuchten, Repository A zu betrachten, indem wir Tag 1.01 betrachteten, würde ich denken, dass dies nicht funktionieren würde.


11
2018-02-22 15:40


Ursprung


Antworten:


Kurze Antwort: Dies funktioniert ordnungsgemäß und Sie sollten zusammenführen .hgtags

Warum sollten Sie tatsächlich zusammenführen? .hgtags und warum macht es Sinn?

Also hast du

  • Repo A mit den Changesätzen 3 (a1), 4 (a2), 5 (a3)
  • Repo B mit Änderungssätzen 3 (b1), 4 (b2), 5 (b3) Tag 1.01

Das Obige wird als Changeset-Nummer (Long Unique Hex ID) aufgeführt

Sie verschmelzen Repo B in Repo A und erhalten etwas, das aussieht.

      9 (a4) merge 
     /   \
    |   8 (b3) tag 1.01
    |    |
    |   7 (b2)
    |    |
    |   6 (b1)
 5 (a3)  |
    |    |
 4 (a2)  |
    |    |
 3 (a1)  |
     \   /
     2 (a0) 

Wenn Sie das Repo auf das Tag 1.01 aktualisieren, erhalten Sie genau das, zu dem der Code zu diesem Zeitpunkt aussah Als es in Repo B war genau wie mercurial verspricht.

Sie sollten sie zusammenführen, da die Changesets aus Repo B, die markiert wurden, jetzt Teil des Changeset-Baums in Repo A sind. Daher werden die Changesets, die Sie in Repo B getaggt haben, jetzt in Repo A getaggt Tags, die Sie für die Changesets erstellt haben.


12
2018-02-22 15:46



Eine interessante Sache zu wissen (von der mercurial Wiki)

Die 'effektiven' Tags stammen aus   die .hgtags Dateien auf den Köpfen aller   Geäst. Tags, die dem Tipp am nächsten sind, nehmen   Vorrang.

Also, wenn Sie zusammenführen (kombinieren Sie zwei Köpfe), Sie brauchen das verschmelzen .hgtags oder einige Tags werden verschwinden.


12
2018-02-22 16:38