miércoles, mayo 07, 2008

SVN: Obligar a los desarrolladores a escribir un mensaje al hacer 'Commit'

Un problema que tuve con el equipo de desarrollo de mi trabajo anterior fue que los desarrolladores escriban un mensaje al hacer 'Commit' al repositorio indicando cual fue el cambio y/o a que ticket se refiere porque se olvidaban y el cliente, al estar al tanto del repositorio, se quejaba. Ya comente SVN, el repositorio que recomiendo, en éste post anterior.

Esto lo pregunte en un foro de SVN, ya que desconocía una forma tecnológica de obligarlos:

Hello,
Is there a way to obligue developers to write a message when commiting?
People tend to forget, and i couldn't find an option to disable the commit
button until a message has been written...
Is that possibility available?
Thanks!

Una persona me respondió lo siguiente, léanlo que es muy interesante en el aspecto social del comportamiento de los desarrolladores:


I had the same question some time ago, I was using CVSNT/TortoiseCVS at that time, and I received two very interesting answers from people at CVSNT forum, which I quote here:

"Beat them over the head with a baseball bat each time they don't do it. If you impose a technological 'solution', you'll just end up with a whole load of comments of the form 'asdasdasd'. You need a social solution, where *either* they see the benefit of comments *or* the painof not putting them in outweighs any time saved." [Crowther, Peter]
http://www.cvsnt.org/pipermail/cvsnt/2005-February/017488.html

"I sympathize with you, but there's no useful solution that you can _impose_ on your users. They aren't "forgetting" to enter commit comments. The dialog pops up everytime, so they have to deliberately dismiss it. If they see no reason to write a comment, then they aren't going to do it. If they are forced to write _something_, they'll write garbage.

*You are going to have to change their attitude, not their software settings.*" [Cornish, Merrill]
http://www.cvsnt.org/pipermail/cvsnt/2005-February/017491.html

In my opinion, both of them are right, you need to really convince your developers to write something meaningful, a solution like the one already proposed may be helpful but doesn't guarantee that the problem will disappear.

Regards,
Juan Carlos

Aunque la respuesta fue muy interesante, no me resolvió el problema, ya que yo necesitaba una solución a esto. Afortunadamente recibí la siguiente respuesta:

Look for tsvn:logminsize and tsvn:lockmsgminsize
Stefan

Resulta que existe una propiedad de SVN que impone un log al hacer commit, y se puede configurar el tamaño mínimo del log antes que habilite el botón para subir los cambios al repositorio. Lo configuré como 5 y problema resuelto.

Podes ver todo el post acá.

3 comentarios:

Pedro Molina dijo...

Bueno ejem, yo recien en este trabajo empece a comentar en el commit del svn...

je je je

Anónimo dijo...

Pero el inconveniente con ese comando es que es propio del Tortoise, y es efectivo si es usado desde este cliente hacia el servidor, pero en mi caso tenemos AnksSVN que se integra desde Visual Studio y este no me toma este valor tan importante y tengo usuarios que no colocan los tan requeridos comentarios de los cambios que se encuentran realizando. Por lo tanto si hay alguna para montarlo en el Servidor de SVN directamente, preferiblemente en el VisualSVN Server que es FREE y tiene un proceso interesante de configuración de usuarios a nivel de integración con Dominio o no.

kfaday dijo...

La propiedad no es del Tortoise, es del Subversion (SVN), pero la configuras con el Tortoise.

Buen tipo del VirtualSVN, nunca probe ese producto.

saludos!