Тонкие вопросы работы CVSup | ||
---|---|---|
Пред. |
Если в вашем sup-файле вы задали, к примеру, tag=A, то cvsup создаст файл извлечений с именем checkouts.cvs:A: например, если tag=RELENG_4, то создаваемый файл извлечений называется checkouts.cvs:RELENG_4. Этот файл будет использоваться для получения и/или сохранения информации, идентифицирующей ваши исходные тексты 4-STABLE.
При отслеживании src-all, если вы хотите перейти от tag=A к tag=B (не имеет значения, больше или меньше A, чем B), и ваш файл извлечений называется checkouts.cvs:A, то должны быть выполнены следующие действия:
# mv checkouts.cvs:A checkouts.cvs:B (Это даст на последующем шаге корректный файл извлечений)
создайте sup-файл, со строкой наборов, которая содержит:
src-all tag=B
при помощи cvsup выполните обновление ваших исходных текстов с новым sup-файлом.
cvsup будет искать checkouts.cvs:B — так как целью является B, то cvsup для корректного управления вашими исходными текстами будет использовать информацию, содержащуюся здесь.
Выигрыши:
с исходными текстами работа производится корректно (в частности, не остается забытых файлов)
на сервер ложится меньшая нагрузка, так как cvsup работает самым эффективным образом.
К примеру, A=RELENG_4, B=. Точка в B=. означает -CURRENT. Это весьма типичное обновление, от 4-STABLE к -CURRENT. Хотя понятно, как ''состарить'' ваши исходные тексты (к примеру, от -CURRENT к -STABLE), понижение версии системы является совсем другим вопросом. Вам НАСТОЯТЕЛЬНО не рекомендуется выполнять такое действие, если только вы точно не понимаете, что делаете.
Если вы хотите перейти от tag=A к tag=A с отличающейся GMT-датой (скажем, date=D), то выполняйте следующее:
напишите sup-файл с такой строкой, определяющей набор:
src-all tag=A date=D
обновите ваши исходные тексты с помощью нового sup-файла
Не имеет значения, предшествует ли новая дата времени последней операции синхронизации с tag=A, или нет. Например, для того, чтобы задать дату ''August 27, 2000, 10:00:00 GMT'', вы пишете строку:
src-all tag=RELENG_4 date=2000.08.27.10.00.00
Замечание: Формат даты строг. Вы задаете все компоненты даты: столетие (''20'', то есть 21 век. должен быть указан, когда как ''19'', прошлое столетие, может быть опущено), год, месяц, день, час, минуты, секунды — как показано в примере выше. За дополнительной информацией обратитесь к странице справочной системы по cvsup(1).
Вне зависимости от того, задана или нет дата, файл извлечений называется checkouts.cvs:A (например, checkouts.cvs:RELENG_4). В итоге не нужны какие-то действия для возврата к предыдущему состоянию: вы изменяете дату в sup-файле, и запускаете cvsup снова.
Если вы хотите ''синхронизировать'' ваше дерево портов в первый раз, вы должны использовать тэг, совпадающий с вашей установленной версией FreeBSD. Например, если вы установили коллекцию портов во время установки FreeBSD 5.3-RELEASE, то следует использовать следующую строку:
ports-all tag=RELEASE_5_3_0cvsup создаст файл извлечений для коллекции портов. Теперь мы можем использовать тэг ''.'' для последующего обновления дерева портов:
ports-all tag=.Все последующие обновления будут обрабатываться гладко.
Если вы прочли тонкие замечания в этих разделах, то, наверное, вы осознали потенциальные проблемы в процессе обновления исходных текстов. Многие действительно сталкиваются с проблемами. Вас предупредили. :-)
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.