Mercurial - hg, belirtilen bir dalda belirli bir tarihe güncelleme

Şu anda birkaç mükerrer deposu olan bir proje üzerinde çalışıyorum. Her mercurial deposu, tümü aktif olarak geliştirilmekte olan bir kütüphane veya bir ikili için kaynak kodunu içerir.

Her bir depodan oluşturulan ürünler arasındaki uyumluluğun hızla bir sorun haline gelebileceğini hayal edebilirsiniz. Bu sorunu çözmenin bir yolu, her bir yerel depoyu uyumlu şubeler üzerinde güncellemek ve daha sonra bu şubelerdeki belirli bir tarihe kadar güncellemek ve şubelerin herhangi bir zamanda uyumlu olmasını sağlamaktır.

Adlandırılmış bir dalda V0.X, V0.1 etiketinde

hg identify

verir

934ad264137e (V0.X) V0.1

Sonra belirli bir tarihe güncelleyin (hala V0.X şubesinde kalmak istiyorum)

hg update -d "<10/28/11"

şimdi tanımla

hg identify; hg branch

verir

51a072771de7 tip
default    

Başka bir daldan atlamak tehlikesi olmayan bir şekilde adlandırılmış bir şube boyunca bir tarihe nasıl güncelleneceğini bilen var mı?

Herhangi bir yardım takdir edilecektir.

Jon.

5
İyi soru, ancak hg help update için dokümantasyon diyor ki: -d - DATE tarihinin en iyi revizyon eşleme tarihi . Bunun ne anlama geldiğinden emin değilim ...
katma yazar hochl, kaynak

1 cevap

hg help revset
  "şube (dize veya ayarlanmış)"
  Verilen şubeye ya da
  değiştirilenler.
 
     

...

     

"tarihi (aralık)"        Aradaki değişiklikler, bkz. "Hg yardım tarihleri".

bize iş akışını ver

  • hg log -r "branch('V0.X') and sort(date('<10/28/11'), date)"
  • find revision N in list
  • hg update -r N
2
katma
pp 1-2, güncellemenin -r parametresi olarak kullanılan, istenen sonucu bize veren bazı oneliner'e dönüştürülebilir.
katma yazar Lazy Badger, kaynak
Evet, aşağıdaki tek liner'in istediği şeyi yaptığına inanıyorum: hg update -r "branch ('V0.X') ve tarih ('<10/28/11')
katma yazar ketorin, kaynak