Dường như ngay cả câu trả lời hiện được chấp nhận cũng không thực sự giải quyết phần câu hỏi của bạn làm thế nào để tránh việc ai đó vô tình truy cập vào một cam kết cũ, sử dụng trạng thái cũ của cơ sở mã trong một nhánh mới và do đó lại giới thiệu một lỗ hổng cũ.
IMHO cách duy nhất đúng để địa chỉ này là:
bằng cách ghi lại bất kỳ sửa lỗi nào cũng như sửa lỗi dễ bị tổn thương trong tài liệu "ghi chú phát hành" (hoặc "nhật ký thay đổi") của hệ thống
bằng cách đảm bảo tất cả các nhà phát triển truy cập các phiên bản mã cũ hơn đảm bảo họ đọc ghi chú phát hành, kiểm tra xem vấn đề nào đã được giải quyết trong phiên bản mã xuất hiện sau phiên bản mã họ sẽ sử dụng
Khi sử dụng lại một phiên bản cũ hơn hoặc phân nhánh từ một phiên bản cũ hơn của cơ sở mã, rõ ràng là trách nhiệm của các nhà phát triển không làm điều này một cách mù quáng. Rõ ràng là họ phải kiểm tra chéo các lỗi và lỗ hổng đã được sửa, vì không giới thiệu lại chúng. Tuy nhiên, nhật ký VCS không thực sự là một nơi tốt để tìm loại thông tin này, bởi vì thông thường có tất cả các loại thay đổi được đề cập, ở mức độ trừu tượng quá thấp.
Tuy nhiên, ghi chú phát hành phải chứa phần "tính năng mới" cũng như phần "giải quyết vấn đề". Và sau này nên là nơi đầu tiên để kiểm tra trước khi phân nhánh từ một phiên bản cũ hơn.