12.3. Синхронизация ваших исходных текстов

Имеются различные способы использования Интернет (или почтового) подключения для того, чтобы иметь самые последние версии исходных текстов любого проекта FreeBSD, во всех областях, в зависимости от того, чем вы интересуетесь. Основной сервисы, который мы предлагаем, это Анонимный CVS, CVSup и CTM.

Анонимный CVS и CVSup используют модель pull обновления исходных текстов. В случае CVSup пользователь (или скрипт программы cron) вызывают cvsup, а она работает с каким-либо сервером cvsupd, чтобы выполнить обновление ваших файлов. Обновления, которые вы получаете, обнолены с точностью до минуты и вы получаете их тогда и только тогда, когда сами захотите. Вы можете с легкостью ограничить ваши обновления конкретными файлами или каталогами, которые представляют для вас интерес. Обновления создаются на лету сервером согласно тому, что у вас есть и что вы хотите иметь. Анонимный CVS гораздо проще, чем CVSup в том смысле, что он представляет собой всего лишь расширение CVS, позволяющее сгрузить изменения непосредственно с удаленного хранилища CVS. CVSup может делать это гораздо более эффективно, однако анонимным CVS легче пользоваться.

CTM, с другой стороны, не сравнивает последовательно исходные тексты, имеющиеся у вас, с теми, что находятся в главном архиве и ни каким-либо другим способом их не сгружает.. Вмесо этого несколько раз в день на главной машине CTM запускается скрипт, идентифицирующий изменения в файлах с момента своего предыдущего запуска, все замеченные изменения подвергаются сжатию, пометке последовательным номером и кодировке для передачи по электронной почте (исключительно в форме печатаемых символов ASCII). После получения эти "дельта-файлы CTM" могут быть переданы утилите ctm.rmail(1), которая осуществит автоматическое декодирования, проверку и применение изменений к пользовательской копии исходных текстов. Этот процесс гораздо более эффективен, чем CVSup и требует меньше ресурсов нашего сервера, так как он сделан по модели push, а не pull.

Есть другие минусы, конечно. Если вы случайно уничтожили часть вашего архива, то CVSup обнаружит и перестроит поврежденную часть. CTM этого делать не будет, и если вы уничтожили какую-то часть вашего дерева исходных текстов (и у вас нет архивной копии), то вам нужно будет начать с самого начала (с самого последнего "базового дельта-файла" CVS), перестроив все с помощью CTM, или, используя anoncvs, просто удалить поврежденную часть и пересинхронизироваться.

Более подробная информация об анонимном CVS, CTM и CVSup находится в этом разделе далее.