Tenía la impresión de que un sistema de control de versiones eliminaba la necesidad de tener "cambios de registros" pegados en todas partes del código. A menudo he visto el uso continuado de los registros de cambios, incluidos los grandes bloques largos al inicio de los procedimientos almacenados con una gran sección bloqueada por cambios en el archivo y ensuciando el código con cosas como:
// 2011-06-14 (John Smith) Change XYZ to ABC to fix Bug #999
y:
// 2009-95-12 (Bob Jones) Extracted this code to Class Foo
// <commented-out code here>
La razón de esto, como se me explicó, es que demora demasiado en examinar nuestros registros VCS tratando de encontrar quién cambió qué y por qué, mientras lo tiene en el archivo de código, ya sea en la parte superior o cerca del cambio relevante, hace que sea fácil ver quién cambió qué y cuándo. Si bien veo el punto de eso, parece redundante y simplemente me suena a "Eh, no entendemos realmente cómo usar nuestro VCS correctamente, por lo que no nos molestaremos con eso".
¿Qué piensas? ¿Usas tanto los comentarios como el log? Sólo el registro? ¿Encuentras que es más fácil codificar cuando puedes ver encima de un bloque de código que John Smith cambió el método para verificar XYZ hace una semana, en lugar de tener que buscar en los registros y comparar los archivos de código en una herramienta Diff?
EDITAR: usando SVN, pero básicamente solo como un repositorio. Sin sucursales, sin combinaciones, nada excepto log + storage.