2012-04-16 9 views
7

"hg taahhüt" önce "hg çekme -u" zorlamak, hg pull gelen sıra olduğu anlamına gelecektir boş - ve ayrıca, kişinin dalın baş sürümünü kullandığını da istiyorum.Mercurial: Bazı durumlarda herhangi <code>hg commit</code> izin verilebilir önce Mercurial kullanıcılar yani <code>hg pull -u</code> çalıştırmak olduğunu zorlamak için bir ihtiyaç var

Böyle bir kısıtlamayı nasıl kurabilirim?

+0

bu çoklu kafaları oluşturmak iter izin vermemek için bir sunucu tetiği nasıl uygulanacağı olduğunu soran bir başka yoludur. –

+0

Size nasıl otomatikleştirileceğini söyleyemem ama çekmem gerekip gerekmediğini kontrol etmek için "hg gelen" kullanıyorum. Bunu kullanmak isteyebilirsiniz. –

+4

Düzeltmek istediğiniz kırık çözümü yerine çözmeye çalıştığınız problemi açıkladıysanız daha iyi olurdu. –

cevap

1

Normalde cıva -f bayrağını (kuvvet) kullanmadan sunucuya açık kafa itmesine izin ETMEYECEKTIR (Bu DVCS tasarım çekirdeğin parçaları aykırı farkındayım). Otomatik olarak çekmek için bir kanca yazabilirsiniz, ancak sunucu tarafından neye sahip olduğunuzu bilmeden sunucu tarafında zorlanamazsınız. (Muhtemelen bu yana başına depo .hg/hgrc dosyada yüklü olmalıdır kendi yapılandırma dosyalarında

[hooks] 
pre-commit = hg pull -u 

yüklemeye Eğer geliştiriciler sorabilirsiniz https://www.mercurial-scm.org/wiki/TipsAndTricks?highlight=%28heads%29#Prevent_a_push_that_would_create_multiple_heads

3

: Bu senaryo hakkında cıva sitesinde bir makale var iş akışı, depoya özeldir).

Bu, Mercurial'i biraz Subversion-like yapar: geliştiricilerinizin yalnızca bir tane değiştirilmiş olayı vardır. Ancak, birileri sunucuya iterce en kısa sürede hg pull -u yeni şube ipucunu güncelleyemez, çünkü şubeler (topolojik branşmanlar) geçecektir. Dolayısıyla, bu noktada uygun bir birleştirme gerekli olacaktır (veya bir rebase, bkz. hg pull --rebase). Adam gibi

1

belki gerçekten yapmanız gerekenler (şube başına) çoklu kafaları önlemek olduğunu söylüyor. Bu, NetBeans gelen 'forbid_2head' kanca kullanarak, yaptığımız şey (buradan bağlantılı https://www.mercurial-scm.org/wiki/TipsAndTricks#Prevent_a_push_that_would_create_multiple_heads)

sonuç kanca bir dalı (anonim/varsayılan dala yani bir çoklu kafaları oluşturur herhangi itmek önlediğini artı her biri, adlandırılmış dallar). Bu, çekilmeden önce bir çekmeyi etkili bir şekilde zorlar çünkü çekmeniz, iki kafayı yerel olarak almanız, ardından birleştirmeniz veya yeniden yüklemeniz gerekir.

not, kanca sunucu/ana repo

İlgili konular