Fiquei com a impressão de que um sistema de controle de versão eliminava a necessidade de "registros de alterações" colados em todo o código. Eu sempre vi o uso continuado de logs de alterações, incluindo grandes blocos longos no início dos procedimentos armazenados, com uma grande seção bloqueada para alterações no arquivo e espalhando o código por coisas como:
// 2011-06-14 (John Smith) Change XYZ to ABC to fix Bug #999
e:
// 2009-95-12 (Bob Jones) Extracted this code to Class Foo
// <commented-out code here>
A razão para isso, como me foi explicado, é que leva muito tempo para examinar nossos logs do VCS, tentando descobrir quem mudou o quê e por quê, enquanto o possui no próprio arquivo de código, na parte superior ou próxima da respectiva. mudar, facilita ver quem mudou o que e quando. Enquanto eu vejo o ponto disso, parece redundante e meio que cheira a "Eh, nós realmente não entendemos como usar nossos VCS corretamente, então não vamos nos preocupar com essas coisas".
O que você acha? Você usa os comentários e o log? Apenas o log? Você acha que é mais fácil codificar quando você vê acima de um bloco de código que John Smith alterou o método para verificar o XYZ uma semana atrás, em vez de precisar pesquisar os logs e comparar os arquivos de código em uma ferramenta Diff?
EDIT: Usando SVN, mas basicamente apenas como um repositório. Sem ramificações, sem mesclagens, nada, exceto log + armazenamento.