Mercurial'da çengel var olan bir kanca var, değişim grubu gibi, eylemlerin bir itme üzerinde gerçekleşmesine izin veriyor, ancak hangi şubelerden etkilendiğine bağlı olarak birden fazla eylem yapmamı (veya değiştirmem) Buradaki değişiklikler var mı? Örneğin, bir itme yapıldığında bir url'de bir dinleyiciye bildirimde bulunmam gerekir, ancak ideal olarak, hangi şubenin hepsini batırmadan etkileneceğine göre farklı URL'ler bildirir.Mercurial Changegroup kancası dallara bağlı olarak değişir
6
A
cevap
7
Şube özellikli kanca yok, ancak bu mantığı kancayla kendiniz yapabilirsiniz. senin hgrc
Örneğin:
[hooks]
changeset = actions-by-branch.sh
ve sonra senin actions-by-branch.sh
yapacağın: Ben bir changeset ziyade changegroup kanca kullanılan
#!/bin/bash
BRANCH=$(hg log --template '{branch}' -r $HG_NODE)
BRANCH=${BRANCH:-default} # set value to 'default' if it was empty
if [ "$BRANCH" == "default" ] ; then
do something
elif [ "$BRANCH" == "release" ] ; then
do something else
else
do a different thing
fi
dikkat edin. Tek bir değişim grubu, mantığı karmaşıklaştıracak olan, çoklu dallarda değişikliklere sahip olabilir. Bu rotaya gitmeye karar verirseniz, $HG_NODE
'dan, değişim grubundaki her bir değişiklik kümesinde harekete geçmek için tip
'a dönmeniz gerekir.
İlgili konular
- 1. Mercurial ön işlem kancası
- 2. İç yazım hatası, üst sınıflara bağlı olarak değişir
- 3. Dosyalar açılırken dallara ayırma
- 4. Xcode "dallara geçiş" seçeneği
- 5. Bir şubeyi saklayın Mercurial/TortoiseHg
- 6. Kullanıcıya bağlı olarak kültüre bağlı olarak jquery
- 7. Mercurial: Dosyaları Genel Olarak Yoksay
- 8. Mercurial
- 9. Mercurial
- 10. Mercurial
- 11. Git-Svn dcommit dallara ayrılmaya neden oluyor
- 12. git sonrası itme kancası?
- 13. Ağa bağlı kenarları ağa bağlı olarak yazdırma
- 14. Google'da giriş kancası Appengine
- 15. SVN İstemci gönderimi kancası
- 16. window.location ne zaman değişir?
- 17. Phabricator kancası ve Bitbucket
- 18. koşullu zamana bağlı olarak
- 19. Zamana bağlı olarak kancalar
- 20. Yumuşak bağlantı Mercurial
- 21. Dosya uzantısı kancası Emacs
- 22. C#: Klavye Kancası
- 23. Git kancası çalıştırılamıyor
- 24. Android'de otomatik olarak geçiş yapmak yerine ToggleButton durumu programlı olarak değişir mi?
- 25. Bir hijyen paketinde (jsp kancası) liferay olarak dağıtma 7
- 26. Hesap onLogin kancası Meteor döngüsü
- 27. Ayarlara bağlı olarak Django geçişleri ve FileSystemStorage
- 28. UIWebView Tamamen Yüklenmiyor, Yükseklik Değişir
- 29. Eclipse eklentisinde Eylem Kaydetme Kancası
- 30. Mercurial Uzatma
Sanırım $ {BRANCH: = varsayılan} '' BRANCH = $ {BRANCH: = default} 'olmalıdır. – palacsint
Yazılı olarak çalışır. ... {: = Kelime parametresi} Atama Varsayılan Değerler parametre atanmamışsa ya da boşsa, kelimenin genişleme parametresi atanır PARAMETRE değeri daha sonra ikame edilir Konumsal parametreler ve özel bash adam sayfasından "$ başlayan parametreleri bu şekilde atanmayabilir. " Daha ayrıntılı bir atama ifadesini istediğimizde ':-' yerine ': =' kullanırdık. –
Tamam, problemi çözdüm. Bash, "$ BRANCH" değerini bir komut olarak çalıştırmaya çalışır. Bu yüzden bir "mybranchname: komut bulunamadı" hata mesajım var. Bu nedenle, bu hatayı önlemek için ödeve veya bir bash no-op (': $ {BRANCH: = default}') kullanın. – palacsint