2016-07-29 51 views
0

Ich habe zwei Niederlassungen, A und B. Wie fusionieren ich A ->B, so dass beide Zweige genau gleich sind, was bedeutet, dassSynchronisieren Sie Niederlassungen in mercurial

  • , wenn eine Datei A in es gibt, es in B ist mit exakt den gleichen Inhalt
  • , wenn eine Datei A in fehlt, wird es nicht in B

A einfa finden le merge tool "zu nehmen A in einem Fall von Merge-Konflikt" würde sich um die zusätzlichen Dateien kümmern. Ist es sicher, alle Dateien in B zu entfernen und dann eine Zusammenführung von A?

+1

Was ist, wenn Sie eine Datei in B hinzugefügt haben, die Sie nicht in A hinzugefügt haben? –

+0

@ LasseV.Karlsen: dann sollte es nicht in * B * nach der Zusammenführung sein. – progo

Antwort

0

Habe ich das richtig verstanden, dass Sie A zusammenführen möchten -> B, so dass die resultierende fusionieren M gleich A?

Dafür können Sie hg revert --all -r X verwenden, um das gesamte Arbeitsverzeichnis auf den Wert der Revision X einzustellen.

hg up B 
hg merge A 

# This will also delete or add files as needed 
hg revert --all -r A 

# Whatever merge conflicts we got, we resolved them by 
# using A's version, so let's mark all as resolved 
hg resolve --mark --all 

# Commit and compare the current commit to A 
hg commit 
hg diff -r . -r A # identical