2009-11-09 19 views
6

Belirli bir dalın ucunu her ilerlediğimde bir lateks belgesi oluşturup yayınlamaya çalışıyorum.Git Kanca: Bir dal gelişmiş olduğunda harekete geçin

Yapım komut dosyamı hangi cihaza koymam gerektiğini ve hangi koşulları kontrol etmem gerektiğini arıyorum.

+0

Git ve LaTeX ile aynı şeyi yapmayı düşünüyorum. Ama bir kaç şeyden korkuyorum: 1. PDF'leri tutmak, repo hacmimi çok çabuk şişirecek. 2. Kaynaktaki LaTeX hataları. Her şeyin doğru şekilde çalıştığından emin olmak için, arşivi tekrar çekip PDF'ye bakmalıyım. Çok fazla iş. – Mica

+0

Hatasız oluşturmayacak herhangi bir işlemi reddeden ön bağlantı kancası var. İndeksi kontrol edip testimi çalıştırıyorum, temel olarak -draftmode-on-error-error ve sadece 0 durumundan çıkmazsa işlemi reddet. Pdf'yi repoda tutmam. – Flame

cevap

14

Muhtemelen biraz geç ... ama sen o işlemek için şube teslim olduğunda size komut

if [ `git rev-parse --abbrev-ref HEAD` = "master" ]; then 
    ... 
fi 

kullanarak kararlı olduğunu hangi dal öğrenebilirsiniz.

+0

Bu komutla "uzak: [: 4: master: beklenmedik operatör" alıyorum. Aslında tek bir '=' işareti. Buna ekledim, benim gibi yeni başlayanlar için bunu şöyle kullanmalısın: "eğer [' git rev-parse --abbrev-ref HEAD '= "master"], o zaman _git talimatları veya w/e burada_ fi " – Gab

4

değişiklikleri uzak bir push yoluyla geliyor, o zaman uzak sunucuda (eğer pre-receive kullanıyorsanız diyelim ki, lateks başarısız olursa o zaman itmek reddedebilirsiniz rağmen) post-receive kanca kullanmak isteyeceksiniz.

Yerel deponuzu kullanıyorsanız, post-commit (veya işlemi reddetmek istiyorsanız pre-commit) 'ı kullanmalısınız.

Kancalar, git hooks adam sayfasında belgelenmiştir.

+0

Post-commit'imde, hangi şubeye bağlı olduğumu nasıl öğrenebilirim? – Flame

+0

Ayrıca, bu tetikleyici birleştirme veya hızlı ileride mi olacak? – Flame

İlgili konular