Avevo l'impressione che un sistema di controllo delle versioni eliminasse la necessità di avere "registri delle modifiche" intonacati ovunque nel codice. Ho visto spesso l'uso continuato dei log delle modifiche, inclusi i grandi blocchi lunghi all'inizio delle stored procedure, con una grande sezione bloccata per le modifiche al file e il littering del codice con cose come:
// 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>
La ragione di ciò, come mi è stato spiegato, è che ci vuole troppo tempo per passare al setaccio i registri VCS cercando di scoprire chi ha cambiato cosa e perché, pur avendo nel file di codice stesso, sia in alto che in alto vicino al cambiamento rilevante, rende facile vedere chi ha cambiato cosa e quando. Mentre ne vedo il punto, sembra ridondante e solo una specie di schiaffo di "Eh non capiamo veramente come usare il nostro VCS correttamente, quindi non ci preoccuperemo affatto di queste cose".
Che ne pensi? Usi entrambi i commenti e il registro? Solo il registro? Trovi che è più facile codificarti quando puoi vedere sopra un blocco di codice che John Smith ha cambiato il metodo per controllare XYZ una settimana fa, invece di dover cercare tra i registri e confrontare i file di codice in uno strumento Diff?
EDIT: uso di SVN, ma fondamentalmente solo come repository. Nessuna filiale, nessuna fusione, niente tranne log + storage.