2017-03-05 5 views
3

Ich arbeite an einem Embedded-Linux-Projekt mit einem kleinen Team, und wir haben beschlossen, einen C-Codierungsstil zu erzwingen. Wir haben die Linux Kernel coding style gewählt, und wir verwenden das Skript in der Kernel-Struktur checkpatch.pl, um unsere Patches zu überprüfen.Erzwingen des Codierungsstils mit pre-receive Git Hook

Wir möchten den Codierungsstil überprüfen, bevor Sie einen Patch auf dem Server mit einem Pre-Receive-Hook akzeptieren. Allerdings können wir kein zuverlässiges Skript finden, das diesen Job erledigt, speziell wenn Zweige erstellt und gelöscht werden.

Können wir dieses Problem über Git remote hooks lösen? Insbesondere müssen wir alle geänderten Dateien durch ein Commit (oder eine Serie von Commits) mit checkpatch.pl überprüfen.

Antwort

0

Sie in this gist ein Beispiel der Erfassung von Verzweigungen sehen

case "$refname" in 
    refs/heads/*) 
    branch=$(expr "$refname" : "refs/heads/\(.*\)") 
     if [ 0 -ne $(expr "$newrev" : "0*$") ]; then # deleting 
     ... 
     else #updating 
     if [ 0 -ne $(expr "$oldrev" : "0*$") ]; then # pushing a new branch 

gelöscht oder erstellt werden, sollten Sie, dass, um anzupassen, um Ihre Codierung Stil-Check zu verwalten.