git hook para el post legítimo de confirmación (# 123 buen post)

Necesito asegurarme de que los posts de compromiso sean algo que legítimamente lo rechacen. El post de confirmación debe ser como "# 123 arreglando el paréntesis faltante"

Quiero asegurarme de que comience con hash, hay un integer (no 123a) y el post tiene al less 10 palabras.

Es bueno tener: el post no sería exactamente el mismo en una fila

Estoy usando este plugin de Trac para el set de cambios, describe el formatting del post de compromiso con más detalle http://trac-hacks.org/wiki/TracTicketChangelogPlugin

Gracias,

Puede crear un pre-receive que rechaza las confirmaciones en function de los criterios que desee; solo tiene que imprimir un error a la salida estándar y salir con un estado distinto de cero. Por ejemplo, algo como:

 #!/bin/sh while read rev_old rev_new ref do MALFORMED="$(git rev-list --oneline $rev_old..$rev_new | egrep -v '^[a-f0-9]+ #[0-9]+ ')" if [ x"$MALFORMED" != x ] then echo Some commits had a malformed subject line exit 1 fi done 

(No lo he probado, pero entiendes la idea …)

Creé un enlace commit-msg con:

 #!/usr/bin/env ruby message_file = ARGV[0] message = File.read(message_file) #starts with # then number, space, and at least 5 words no more than 200 $regex = /(^#[0-9]+ \W*(\w+(\W+|$)){5,200})/ if !$regex.match(message) puts "Your message is not formatted correctly (example: #XXX at least 5 words)" exit 1 end 

Tomé prestado de esta input del blog http://fhopf.blogspot.com/2011/01/git-hook-for-networkingmine-messages.html

Micro,

Nuestro grupo de usuarios, el Grupo de Usuarios de Desarrolladores Web de Florida Central, recientemente tuvo una discusión sobre GitHooks que puede implementarse para resolver el problema que ha presentado. La discusión fue dirigida por Rick Osborne de Full Sail University. Puede acceder a la reunión aquí http://www.meetup.com/florida-web-developers/events/20352661/ y la grabación aquí http://www.meetup.com/florida-web-developers/messages/boards/ thread / 12465891 / # 45223031 .

Si se toma el time de revisar toda la discusión grabada, verá que Rick lo guiará a través de este process paso a paso, incluyendo ejemplos descargables.

Espero que esto ayude.