Под контролем изменений имеется в виду несколько вещей. Прежде всего,
это может означать отслеживание ошибок, т.е. хранение базы данных
обнаруженных ошибок и их статуса (исправлена ли она? в какой версии?
согласился ли обнаруживший ее, что она исправлена?). Для взаимодействии
CVS с внешней системой отслеживания ошибок почитайте, как это делается
в файлах `rcsinfo'
и `verifymsg'
.
Другим аспектом контроля изменений является отслеживание такого факта, что изменения
в нескольких файлах в действительности являются одним и тем же согласованным
изменением. Если вы меняете несколько файлов одной командой cvs commit
,
то CVS забывает, что эти файлы были изменены одновременно, и единственная
возможность, их объединения - это одинаковые журнальные записи. Ведение файла
`ChangeLog'
в стиле GNU может решить некоторые проблемы.
Еще одним аспектом контроля изменений в некоторых системах является
возможность отслеживать статус каждого изменения. Некоторые изменения
были написаны разработчиком, другие написаны другим разработчиком,
и т.д. Обычно при работе с CVS в этом случае создается diff
-файл
(используя cvs diff
или diff
), который посылается по электронной почте
кому-нибудь, кто потом применит этот diff
-файл, используя программу
patch
. Это очень гибкий прием, но зависит от внешних по отношению к CVS механизмов,
чтобы быть уверенным, что ничего не упущено.