Oprócz tego, co powiedzieli inni, zastanów się, co się stanie, jeśli zmiana wywoła efekt falowania w całym systemie. Załóżmy, że refaktoryzujesz część podstawowego interfejsu w procesie implementacji żądania zmiany - ten rodzaj zmiany może łatwo dotknąć dużego odsetka plików kodu źródłowego w dowolnym nietrywialnym oprogramowaniu, co sprowadza się do trywialnych zmian (klasa lub zmiany nazwy metody). Czy powinieneś przejrzeć każdy plik dotknięty taką operacją, aby ręcznie dodać adnotację do takich komentarzy, zamiast polegać na tym, że VCS robi to wszystko automatycznie? W jednym przypadku patrzysz na nieco więcej niż pięć minut pracy przy użyciu dowolnego przyzwoitego narzędzia do refaktoryzacji, a następnie rekompilacji, aby upewnić się, że nic nie zepsuło się na kompilacji, podczas gdy drugi może łatwo przejść do pracy w ciągu jednego dnia. Dla jakiej konkretnej korzyści?
Zastanów się również, co się dzieje, gdy przenosisz części kodu. Jeden z programistów baz danych, z którymi pracuję, w dużej mierze „każda linia SQL powinna być opatrzona adnotacją o wersji, w której została zmieniona, i przygotujemy osobne historie wersji dla każdego pliku, ponieważ wtedy łatwiej będzie zobaczyć kto zmienił co, kiedy i dlaczego ”. Który działa trochę, jakoś w porządku, gdy zmiana jestw kolejności zmiany pojedynczych linii. Nie działa tak dobrze, gdy, tak jak ostatnio, aby naprawić poważny problem z wydajnością, rozbijasz części większego zapytania wprowadzając tabele tymczasowe, a następnie zmieniasz kolejność niektórych zapytań, aby lepiej dopasować nowy przepływ kodu. To prawda, że różnica w stosunku do poprzedniej wersji była w dużej mierze bez znaczenia, ponieważ informowała, że około dwie trzecie pliku uległo zmianie, ale komentarz dotyczący odprawy był również czymś w rodzaju „poważnej reorganizacji w celu rozwiązania problemów z wydajnością”. Kiedy spojrzałeś ręcznie na dwie wersje, było całkiem jasne, że duże części naprawdę były takie same, tylko się poruszały. (I zajęło omawianej procedurze przechowywanej od regularnego wykonywania ponad pół minuty, do kilku sekund. Do tego czasu
Z nielicznymi wyjątkami śledzenie zmian i odwoływanie się do problemów jest pracą VCS, IMNSHO.