kök olmayan dizinlerde mergeinfo. Ben o svn zorlamak istiyoruz geçerli: mergeinfo sadece "gövde" veya "dallar/BRANCHNAME" gibi dizinler ayarlanabilir olabilir. Geliştiricilerin bazen, birleştirme hedefi olarak kökün bir alt dizinini kullanmanın iyi bir uygulama olmadığını ("here listelenen en iyi uygulamalar)" hatırlatması gerekir. Herkesin böyle bir çete betiği var mı, nerede bulabileceğimi biliyor mu? Windows ortamındayım, bu yüzden parti veya powershell tercih edilebilir, ama her şey kesinlikle yardımcı olacaktır. Her şeydenSvn ön işlemeye svn izin vermemek için kanca: kök olmayan dizinlerde mergeinfo: Ben önceden taahhüt ayarı svn gelen geliştiriciler engeller kanca kullanmak istiyorum
cevap
Birincisi, görevi yapmaya Perl veya Python kullanarak tavsiye ediyoruz, windows toplu çok arzulanan bırakır.
Sen başlamak http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ alınan bazı örnek komut dosyasını kullanabilirsiniz. Örneğin, verify-po.py komut kontrolleri kodlamalar ve yazar işlemeye izinlere sahip olup olmadığını commit-access-control.pl.in çek dosyası. Muhtemelen dizinleri özelliklerini değişmiş (ikincisi birinde gibi) komut fark svnlook istihdam ve düzenli ifade kullanarak şube veya etiket ister tekabül yolları aracılığıyla gider.
Güncelleme
Eğer aradığınızı gibi görünüyor enforcer pre-commit hook script buldum.
Bu kodun yaptığı o ilerleme işlem gözetleme svnlook kullanır. işleminden geçirilirken, yöneticisinin yöneticisinin nolu olup olmadığına bakmasını ve kabul edilebilir olup olmadığına karar vermesini sağlayan bir kanca setine çağrı yapar. bir dosya bir özellik eklendiğinde her satır için çağrıda beri
İçerdiği çeşitli yöntemler ve , aralarında() verify_property_line_added.
görünüyor. Bu arada – Charles
, Sorunuzun sonra svn kanca ile ilgilenen başladı ve ben (günlük mesaj ile kaydedilmesini yasaklayan ile başlayan) bazı uygulamak için gidiyorum ve muhtemelen taahhüt üzerine kontrol özelliklerini ulaşacak - o zaman burada bir başka güncelleştirme koyacağız . – pmod
sunucuda CPAN yapabiliyorsanız:
https://github.com/gnustavo/SVN-Hooks/blob/master/examples/check-mergeinfo.pl
Değilse (http://comments.gmane.org/gmane.comp.version-control.subversion.user/118969 göre):
REPOS="$1"
TXN="$2"
SVNLOOK=/usr/bin/svnlook
if !($SVNLOOK log -t "$TXN" "$REPOS" | grep -q '\[override] ';) then
# Get list of paths which have changed
TXN_PATHS=$($SVNLOOK changed -t "$TXN" "$REPOS")
# Filter those which are allowed: /trunk, /branches/*,...
TXN_PATHS=$(echo "$TXN_PATHS" | grep -Ev "^....(trunk/|branches/[^/]+/)$")
# Iterate over all paths, which are not allowed to have mergeinfo
while IFS= read -r TXN_PATH; do
ELEM_PATH=$(echo "$TXN_PATH" | cut -c 5-)
MERGEINFO=$($SVNLOOK propget "$REPOS" svn:mergeinfo -t "$TXN" "$ELEM_PATH" 2>/dev/null)
if [ ! "$MERGEINFO" = "" ]; then
echo " Cannot merge into directory that is not trunk or a branch:" >&2;
echo " $ELEM_PATH" >&2;
echo " Override by using [override]." >&2;
exit 1;
fi
done <<< "$TXN_PATHS"
# echo "Merge info check: OK"
fi
- 1. Büyük ikili dosyaları işlemeye izin vermemek için Mercurial kanca
- 2. Svn mergeinfo yıldızlı revizyonlar
- 3. öncesi işlemek svn kanca: UTF-8
- 4. SVN taahhüt edememek önce benim kod standardı (PSR2) doğrulamak için mevcut PreCommit kanca ben SVN kullanıyorum uyarıları
- 5. svn için varsayılan taahhüt mesajı nerede saklanır?
- 6. Git svn için: mesajlar
- 7. SVN -
- 8. Gravür kullanarak svn svn
- 9. SVN
- 10. SVN, svn status
- 11. SVN: Düzeltme için taahhüt edilen dosya dosyaları
- 12. SVN
- 13. Tortoise SVN Yan Kancalar Scriptler
- 14. svn: Dosya açılamıyor '.svn/lock': İzin reddedildi MAc
- 15. svn revizyon boyutu
- 16. SVN 1.7 ile çalışan Delphi SVN entegrasyonu?
- 17. svn dışına git ile svn dışına geçiş
- 18. .svn dosyaları olmadan svn deposunu denetleme
- 19. Checkout SVN svn + ssh repo, Eclipse Helios
- 20. Svn log - svn: '.' çalışma kopyası değil
- 21. git-svn görüntüleme svn repository url
- 22. Git svn Ben SVN deposunu klonlayabilirsiniz Bu şekilde bir SVN deposunu
- 23. svn: önceki sürüme
- 24. SVN Güncelleme olmadan gönderin
- 25. Mac OS X için Bağımsız SVN istemcisi
- 26. SVN o
- 27. SVN sunucusu 1.5 ile bağlama (desteklenmeyen mergeinfo alma)
- 28. SVN deposu için silinen dizin işleme sorunları
- 29. "svn add *",
- 30. Tutulma sırasında bir svn işlemi gerçekleştirilirken odakta svn konsolu var
Kesin merakı - Eğer Subversion 1.5 veya 1.6 kullanıyor? (Ben de svn ellerinde acı çekmişti: mergeinfos, kök dizinlere/dizinlere bağlanan her türlü dizin/dosyada, ancak 1.5) –
1,6'dayız. Sahip olduğum sorunlar, svn istemcisinin görünürdeki her şey için mergeinfo ayarladığı eski 1.5 hatalarından kaynaklanmıyor. Bunun yerine, bir kullanıcı "birleştirme hedefi olarak" trunk/mySubProject "gibi bir kök olmayan dizini kullanarak bir birleştirme gerçekleştiren" kullanıcı hatası "nedeniyle oluşur, bu nedenle bu dizinde birleştirme bilgisi ayarlayın. Bu, farkında olduğunuzdan emin olduğum gibi, sonraki birleşmeleri zorluyor. –
Gerçekten - bilgi için teşekkürler. Biz sadece son zamanlarda 1,6'dayız, bu yüzden şeylerin nasıl değiştiğini gözlemlemek için zamanım olmadı. Yine de aynı sorunu ele almam gerekiyor. + Sık Kullanılan –