sonsuzdongu / muhafiz

Guard your codebase from bad codes!
http://sonsuzdongu.github.com/muhafiz/
38 stars 12 forks source link

Commit mesajları kontrolü #28

Open eser opened 11 years ago

eser commented 11 years ago

Muhafız'ın kapsamı kod kontrolü ile mi sınırlı olmalı yoksa commit mesajlarını da bir runner aracılığıyla kontrol etmek genel yapıyı bozmadan çözüm sağlar mı?

yuxel commented 11 years ago

Commit mesajı dediğiniz, "FOOBAR-13 - Buraya mesaj" gibi bir yapının kontorlü mü? Bunu biraz incelemiştim ve pre-commit ile çözemiyorduk. Mesaj, commit'den sonra gidiyordu hatırladığım kadarıyla. Bunun için başka bir hook vardı ve uğraşmak istememiştim açıkcası.

Ama "yapılacaklar listesi"nde bu da var aklımda

adililhan commented 11 years ago

bu is ile alakali prepare-commit-msg, commit-msg hooklari incelenebilir.

eser commented 11 years ago

benzer bir case burada da var: http://stackoverflow.com/questions/2524101/git-how-do-we-verify-commit-messages-for-a-push

yogun olmadigim bir donem git kurup denemem gerekecek, svn ile boyle bir kontrol yaptiriyordum. fixes/fixed gibi ifade gecen commit mesajlarinda issue-id'nin de belirtilmesinin gerekliligi gibi ihtiyaclar oluyor genelde.

yuxel commented 11 years ago

@adililhan dediğin hook'lara bakmıştım, da hook sayısını arttırmak da istememiştim. Ama eklesek fena olmaz

@larukedi svn tarafında yapilabiliyor mu bu kontrol? commit mesajı geliyor mu stream olarak?

Eğer öyle ise, global bir runner ekleyebiliriz "git config muhafiz.commit-message-pattern /buralar_hep_regexp/" gibi bir şey yapabiliriz. Ama işin "svn" tarafında nasıl bir yol izleyebiliriz bilemedim

eser commented 11 years ago

@yuxel svnlook log -t $argv[2] $argv[1] ciktisi ile commit mesaji alinabiliyor pre-commit'de.

hatta asagi yukari kullandigim kod suna benzer bir yapida:

$REPOS = $argv[1];
$TXN = $argv[2];

$LOG=`svnlook log -t "$TXN" "$REPOS"`;
if(strlen(trim($LOG)) < 8) {
    error_log('Invalid commit message.');
    exit(-1);
}

abstract bir yapi olusturulursa runner/cvs siniflari tarafinda svn kismi ile ilgilenebilirim. mevcut kod dizaynina zarar vermek istemiyorum :)

yuxel commented 11 years ago

ilk fırsatta ekleyeceğim böyle bir destek :)