Bir CakePHP uygulaması için. Hgignore?

3 Cevap php

Biz yeni bir uygulama için CakePHP kullanarak konum ve biz kaynak kontrol aracı olarak Mercurial kullanın. (Mercurial herhangi bir dizine .cvsignore kullanır (örneğin) CVS aksine, bir .hgignore kök dizininde dosyasını kullanır.)

Ben (onlar her zaman değiştirebilir ve rejenere edilebilir beri) kaynak denetimi app/tmp/ dizinin içeriğini dışlamak istiyorum, ama app/tmp/* eklemek olamaz .hgignore, o zamandan bu yana tmp altında standart dizinleri (cache, logs, sessions, {[(7 )]}, ve cache/models, cache/persistent, ...) hataları sonuçlanan hg clone tarafından yapılan yeni klonlardan kayıp olacaktır.

Şu anda benim hgignore var:

app/tmp/logs/*.log
app/tmp/cache/persistent/cake_*
app/tmp/cache/models/cake_*

Tüm projelerde kullanılabilecek bir "standart" bir tane olması iyi olurdu. Birisi tam bir çözüm önerebilir misiniz?

3 Cevap

Ekleyebilir

syntax: glob
app/tmp/**

Lütfen .hgignore dosya ve Mercurial için olacak app/tmp/ exception Mercurial tarafından izlenen dosya ile altındaki tüm dosyaları görmezden bu noktadan sonra. hg help patterns dosya adı desenleri hakkında daha fazla bilgi için bkz.

Yani bunu yaparsanız

% touch app/tmp/cache/.empty
% touch app/tmp/logs/.empty
% hg add app/tmp/cache/.empty
% hg add app/tmp/logs/.empty

ve bir klon yapmak, daha sonra app/tmp/cache ve app/tmp/logs dizinleri will oluşturulacak ve bu dizinleri yeni dosyalar dikkate alınmayacaktır. Ben ne istediğiniz olduğunu düşünüyorum?

Bu aynı zamanda varsayılan olarak en dosyalarını görmezden ve sadece açıkça eklenen dosyaları izlemek isterim beri $HOME gibi bir şey izlemek için yararlıdır.

Ben doğru soruyu anlamak Eğer tmp belli dizin dosyaları tmp dosyasını görmezden, ama istiyorum. Bu doğru ise o zaman bu kullanarak bunu düşünüyorum:

syntax: regexp
^tmp/(?!(cache|logs|sessions|test))

Yani sonraki bölüm önbellek, günlüğü, oturumları, sınav olmadıkça, tmp ile başlayan bir şey görmezden diyor. Bu dosyalar için:

.
`-- tmp
    |-- cache
    |   `-- afile
    `-- tmpfile

Burada hg stat sonucudur:

$ hg stat
? .hgignore
? tmp/cache/afile

Ben Kek muhtemelen tabanlı ont varisi bir tmp dizininde olmanın kaynak kontrolü içine bu dosyaları koymak için söylüyorum ki, olsa da, dikkat edecektir. Eğer onlar yapı sistemi oluşturmak gerekiyordu htat şey olmadığına emin misin? Oldukça geçici Özellikle ses oturumları.

Site dağıtıldığında (SVN) benim kendi çıkışta,. / Tmp / dizin bazı özel izinler olması gerekiyordu.

Ben tamamen sürüm denetimi kaldırıldı ve gerekli olarak benim dağıtım komut dizinleri yarattı.