2013-03-09 21 views
8

Ekibimde bazı kodlama kurallarını zorlamaya çalışıyorum. Bu amaçla, ben tamam çalışır ancak şimdi bir geliştirici merkezi deposuna onların modifikasyonları iter zaman aynı çekler çalıştırmak istediğiniz istemci tarafı kanca, bir dizi yazdım. Ama çalışmıyorlar.Git sunucu kancası: itilmekte olan dosyaların içeriğini aldınız mı?

Ben çizgi ile itilen dosyalar hattını çapraz konvansiyonlar ihlalleri kodlama kontrol etmek istiyorum ve herhangi bulursanız, ayrıca satır numaralarını + ihlalleri gösteren itmek reddetmek: Burada

yapmak istediğim şeydir. Gelen

benim önceden taahhüt dosyaların bütün metni almak için ilk çağrıda alınan dosyaların her biri için istemci tarafı ben git diff --cached --name-status --diff-filter=AM arayarak modifiye dosyaların listesini almak için bunu başardı kanca ve git cat-file -p :filename.

benim sunucu tarafı update kanca aynı yapmaya çalışacağım

, ben (dosyaların listesi için) boş bir dize olsun.

Ben de newrev SHA nerede olduğunu ben net bulmak güncelleme kanca, git diff-tree -r --name-only --no-commit-id <tree-ish> ve bazı diğer şeyler bir parametre olarak almak (git show --pretty="format:" --name-only newrev aramaya çalıştım, ama ne olup bittiğini ben net bir anlayış alamayan ve ben aramak gerektiğini.

sen sunucu tarafında hiçbir çalışma kopyası olmadığından betiğinize değişiklik yapmak zorunda

+0

kullanabilirsiniz. Aramaya çalıştım ama zorlayıcı bir sebepten dolayı iyi olamazdı. –

cevap

4

? bana yardım ve Can bir iskele bölgesinden (veya dizin) ile git diff --cached eserler İşaret boş iken sunucu bir itme aldığında.

Basitçe sha-old ve sha-new bağımsız değişken olarak kancalar gönderilen hakemler olmak yerine git diff --name-status <sha-old> <sha-new>, kullanmak ve bir taahhüt önce git diff --cached çalışan aynı çıktıyı alırsınız.

dosya içeriğini kontrol gelince, cat` `üzerinde` git kedi Dosya 'kullanmanın yararları nelerdir git-show sha-new:/path/to/file

+0

Garip, öyle görünüyor ki, hala bu konularda, bilmiyorum ... boş bir dize olsun, ama boş bir uzaktan içine iterek, ve senin iterken, git o "27 nesneleri Yazma" diyor itme boş değil. – Ibolit

+0

İlk işimi oraya zorladıktan sonra, şimdi itiraf edebilirim ve dosya listesini alırım. Çok teşekkürler! – Ibolit

İlgili konular