2011-07-19 14 views

cevap

5

Kullanım revsets: Kapalıçarşı için

"ancestor(single, single)" 
     Greatest common ancestor of the two changesets. 

$ hg log -r 'ancestor(rev1, rev2)' 
+0

** atalar (set) ** mükemmel! – gavenkoa

+0

Teşekkürler, bu sadece ihtiyacım olan şey. –

5

:

hg debugancestor rev1 rev2

+0

Cevabınız için teşekkürler. Bu komut ** hg help ** 'den gizlenmiştir ancak eğer ** hg debug ** ise görüntülenebilir. Şüphesiz bu komut sadece TWO değişikliklerine izin verir, git-merge-base herhangi bir sayıda değişiklik kümesine izin verir. – gavenkoa

+3

@gavenkoa Mercurial'in iki şubeden daha fazlasını tek bir taahhütte birleştirmesine izin vermediğine inanıyorum (bir git ahtapot birleştirme). Mercurial geliştiriciler, yapmanıza izin verilmeyen bir birleştirme için ortak atayı bulmak için bir komuta sahip olma ihtiyacını muhtemelen görmediler. –

+0

Ancak bu işlevlilik yararlıdır. Hangi değişiklikleri başlatmak için * hg-birleştirme ** ile değişiklikleri yaymak için 3 veya daha fazla banket varsa * kiraz toplama * önlemek için bugfix/özellik-geliştirme başlatmak için. Soruma bakın http://stackoverflow.com/questions/6709365/how-to-move-bugfixes-across-branches-in-dvcs – gavenkoa

8

:

bzr find-merge-base /path/to/branch1 /path/to/branch2 

(Bu komut komutlar ana kümesinden gizli olduğunu yapabilirsiniz bzr help commands ile edinin. Diğer gizli komutları görmek için.

+0

Görünüşe göre bu * çalışmalı *, ancak benim için her zaman güncel olanı geri getiriyor (ne zaman ne revid ne de revnos). –

İlgili konular