2011-10-04 11 views
7

Mercurial'da bir şube oluşturduğum için, bu birleştirilmiş dal sonucuna nasıl ulaştığımın geçmişi olmayan bir uzak depoya nasıl sonuçlandırabilirim. Örneğin. Tarihsiz birleşik birleşik şubeye git

[a] - [b] -----------------[k] 
    \     /
     [g] - [h] - [i] - [j] 

[a] [b] ve [j] özellik dalı olma yoluyla 'varsayılan' dalı olan [k] [g]. Özellik dalını varsayılan şubeye birleştirdikten sonra, sadece [a] - [b] - [k] bastığımda uzak depodaki ayarları nasıl değiştirebilirim? Sadece dalı görmemek istemiyorum, bu değişim setlerinin uzaktaki depoya itilmesini istemiyorum. Nasıl yapmam umrumda değil, [k] sonucunun ne olduğunu umursuyorum.

Şu anda klonlama yöntemiyle dalıma yaslanıyorum ama bunu klonlamayla nasıl başarabilirim? Bu çalışmayı adlandırılmış şubelerle yapmanın bir yolu var mıydı?

Bunun için bir yanıt arıyordum ama orada çok fazla belge var bu iğneyi samanlıkta bulmak zor.

cevap

7

Birleştirme yapmak yerine, --collapse seçeneği ile hg rebase kullanmak istiyorsunuz. Rebase uzatma Mercurial ile dağıtılmaktadır

hg rebase --collapse --source [g] --dest [b] 

, sadece sorunun ayarlarınız dosyasında enable gerekir.

p.s. Eğer birleştirmeyi [k] zaten yapmışsanız, ilk önce geri çekilmeden önce rollback (veya strip) yapmalısınız.

+0

Bunu yaptı! Tüm linkler için teşekkürler. Şimdi keşke TortiseHg'nin bunu doğru şekilde yapmasını nasıl anlayabilseydim. – David

0

nasıl ben için geçmişi elimden almak için

yok yollar o birleştirilmiş şube sonucuna var nasıl geçmişi olmayan bir uzak deposuna bu dalın çıkan birleştirme itebilir birleşti şube

+2

Form olarak, ancak [Collapse extention] (http://mercurial.selenic.com/wiki/CollapseExtension) yardımcı olabilir –