2016-04-08 44 views
0

Tüm yerel taahhütleri (örn. Uzaktaki repoda bulunmayan) şeritlemenin en basit yolunu arıyorum ve tüm yerel yer işaretlerini bir satıcı veri havuzundan kaldırın. hg bo | xargs hg strip && hg bo | xargs hg bo -d gibi bir şey çalıştırabileceğimi biliyorum (tabii ki teselli karmalarını sıyırma ile) ama işlerin üstesinden geldiğimde böyle şeyler denemekte güçlük çektim.Tüm yerel yer işaretlerini kaldırın ve civatası depodan alıkoyun

Tüm yerel değişiklikleri deponuzun kopyasına götürmek (uzaktaki depoyu tam olarak yansıtan biriyle) bırakmanız (eğer biraz ağırsa, belki de) kolay bir yol var mı? Teşekkürler!

+0

, düz 'hg foo' buna bağlı Xargs ile ÇALIŞMAYACAKTIR varsayılan FORAT var (değil itilmiş changesets varsayılan olarak taslak aşamasında olan) –

cevap

2
  1. alt ağacı şerit için, şerit komut belirtilen changesets ve tüm bunların soyundan kaldırır

elle sadece eski atası şerit olabilir.

  1. değil yayınlanan changesets kökleri, sen revsets ve çiftleşmiş kullanabilirsiniz almak amacıyla. Eğer tek uzaktan repo (default takma ad ile) varsa onunla (

    roots(outgoing(PATH1) & outgoing(PATH2) ... & outgoing(PATHN)) 
    

    veya modifiye edilebilir revset birçok uzaktan kumanda için sadece

hg log -r "roots(outgoing())" -T "{node|short}\n" 

olacak Bazı varsayımlar: a) Mercurial fazlar için destek var b) gizli faz kullanılmaz c) uzaktan repo olağan "yayın repo")

roots(draft()) 

BTW