Все тексты хранятся в специальной системе каталогов CVS, которое называется хранилище, или репозитарий. Хранилище созда©тся средствами системы CVS. К одному хранилищу могут иметь доступ несколько разработчиков.
Система позволяет обращаться к хранилищу используя имя каталога в хранилище, имя отдельного файла или модуля. Mодуль представляет собой группу файлов и/или каталогов, которые система CVS воспринимает как единый объект. Модуль определяется пут©м редактирования конфигурационного файла modules.
Тексты представляют собой, например, систему программ, которая разрабатывается и корректируется значительное время, может несколько лет. За время разработки и корректировки может выпускаться несколько версий исходных текстов, может меняться состав разработчиков. При смене разработчиков особенно важно документировать изменения, происходящие в исходных текстах программ.
Когда разработчик планирует корректировать тексты какой-то программы, то он с помощью средств CVS копирует файлы из хранилища CVS в свой рабочий каталог, создавая рабочую копию исходных текстов. По завершении корректировок, обновл©нные модули помещаются командами CVS в хранилище. При этом старая версия обновл©нных текстов также оста©тся в хранилище. Таким образом, несколько разработчиков могут работать с одной и той же программой (обычно с разными частями программы) независимо друг от друга.
Хранилище может находиться как на той же машине, где работают разработчики, так и в любом месте в Интернет.
CVS поддерживает возможность слежения за файлом (watches), которое выражается в уведомлении разработчика, когда кто-то другой запросил копию этого файла, или получить список разработчиков, которые в данный момент работают с этим файлом.
Разработчик может пометить любой файл в хранилище как двоичный, чтобы запретить преобразования, которые имеют место при передаче текстовой информации.
Система позволяет также управлять всем процессом разработки. С использованием конфигурационных файлов commitinfo, loginfo, других можно установить автоматический вызов скриптов, при выполнении определ©нных действий в хранилище. В скриптах могут быть как автоматическая рассылка уведомлений о конкретных операциях всем разработчикам, так и контроль правильности использования тех или иных параметров.