Tôi có ấn tượng rằng một hệ thống kiểm soát phiên bản đã loại bỏ sự cần thiết phải "thay đổi nhật ký" được dán ở mọi nơi trong mã. Tôi thường thấy việc tiếp tục sử dụng nhật ký thay đổi, bao gồm các khối lớn khi bắt đầu các thủ tục được lưu trữ với một phần lớn bị chặn để thay đổi tệp và xả rác mã với những thứ như:
// 2011-06-14 (John Smith) Change XYZ to ABC to fix Bug #999
và:
// 2009-95-12 (Bob Jones) Extracted this code to Class Foo
// <commented-out code here>
Lý do cho điều này, như đã được giải thích với tôi, là vì mất quá nhiều thời gian để sàng lọc nhật ký VCS của chúng tôi để cố gắng tìm ra ai đã thay đổi cái gì và tại sao, trong khi có nó trong tệp mã, ở đầu hoặc gần có liên quan thay đổi, giúp dễ dàng nhận ra ai đã thay đổi cái gì và khi nào. Trong khi tôi thấy vấn đề đó, có vẻ như là dư thừa và chỉ là một loại cú đánh "Ơ chúng tôi không thực sự hiểu cách sử dụng VCS của chúng tôi đúng cách, vì vậy chúng tôi sẽ không bận tâm đến những thứ đó."
Bạn nghĩ sao? Bạn có sử dụng cả bình luận và nhật ký? Chỉ là nhật ký? Bạn có thấy rằng việc viết mã dễ dàng hơn khi bạn có thể thấy phía trên một khối mã mà John Smith đã thay đổi phương pháp để kiểm tra XYZ một tuần trước, thay vì phải tìm kiếm thông qua nhật ký và so sánh các tệp mã trong công cụ Diff?
EDIT: Sử dụng SVN, nhưng về cơ bản chỉ là một kho lưu trữ. Không có chi nhánh, không hợp nhất, không có gì ngoại trừ log + lưu trữ.