The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Руководства по FreeBSD на русском" / Оглавление документа

4 Примеры более тонкого управления исходными текстами

4.1 Как How to safely change tags when updating src-all.

Если в вашем 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, то должны быть выполнены следующие действия:

  1. # mv checkouts.cvs:A checkouts.cvs:B (Это даст на последующем шаге корректный файл извлечений)

  2. создайте sup-файл, со строкой наборов, которая содержит:

    src-all tag=B
    
  3. при помощи cvsup выполните обновление ваших исходных текстов с новым sup-файлом.

Cvsup будет искать checkouts.cvs:B -- так как целью является B, то cvsup для корректного управления вашими исходными текстами будет использовать информацию, содержащуюся здесь.

Выигрыши:

К примеру, A=RELENG_4, B=. Точка в "B=." означает -CURRENT. Это весьма типичное обновление, от 4-STABLE к -CURRENT. Хотя понятно, как "состарить" ваши исходные тексты (к примеру, от -CURRENT к -STABLE), понижение версии системы является совсем другим вопросом. Вам НАСТОЯТЕЛЬНО не рекомендуется выполнять такое действие, если только вы точно не понимаете, что делаете.

4.2 Обновление в одной и той же метке с разными датами

Если вы хотите перейти от "tag=A" к "tag=A" с отличающейся GMT-датой (скажем, "date=D"), то выполняйте следующее:

  1. напишите sup-файл с такой строкой, определяющей набор:

    src-all tag=A date=D
    
  2. обновите ваши исходные тексты с помощью нового sup-файла

Не имеет значения, предшествует ли новая дата времени последней операции синхронизации с tag=A, или нет. Например, для того, чтобы задать дату "August 27, 2000, 10:00:00 GMT", вы пишете строку:

src-all tag=RELENG_4 date=2000.08.27.10.00.00

Note: Формат даты строг. Вы задаете все компоненты даты: столетие (20, то есть 20 век. должен быть указан, когда как 19, прошлое столетие, может быть опущено), год, месяц, день, час, минуты, секунды -- как показано в примере выше. За дополнительной информацией обратитесь к странице справочной системы по cvsup(1).

Вне зависимости от того, задана или нет дата, файл извлечений называется checkouts.cvs:A (например, checkouts.cvs:RELENG_4). В итоге не нужны какие-то действия для возврата к предыдущему состоянию: вы изменяете дату в sup-файле, и запускаете cvsup снова.

4.3 Обновление вашей коллекции портов самый первый раз

Так как порты помечены как "." (то есть -CURRENT), вы можете корректно "синхронизировать" их первый раз, добавив ключевое слово даты (обратитесь к cvsup(1) относительно точного формата): вы должны задать дату как можно ближе к той, что соответствует "выходу" вашего дерева портов. После того, как cvsup корректно создал файл извлечений для портов, что является в точности целью этой специальной операции синхронизации, поле даты должно быть удалено; все последующие обновления будут отрабатываться гладко.

Если вы прочли тонкие замечания в этих разделах, то, наверное, вы осознали потенциальные разр^Wпроблемы в процессе обновления исходных текстов. Многие действительно сталкиваются с проблемами. Вас предупредили. :-)

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам связанными с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам связанным с русским переводом документации, пишите <frdp@FreeBSD.org.ua>.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру