Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Помогите настроить экспорт из CVS в DocumentRoot апача при помощи shell-скрипта по крону. / 2 сообщений из 2, страница 1 из 1
20.08.2004, 07:46
    #32658004
CVS
CVS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите настроить экспорт из CVS в DocumentRoot апача при помощи shell-скрипта по крону.
Есть сервер с FreeBSD 4.8-RELEASE
Есть CVS-репозиторий на нем...
На этом же сервере - апач
Надо чтобы по крону раз в две минуты - пока идет разработка, слишком часто делаются коммиты, - надо делать экспорт из cvs-репозитория в DocumentRoot апача.

Сделал shell-скрипт:
Код: plaintext
1.
2.
CVSROOT=/usr/home/cvsroot
export CVSROOT
cvs export -D  01 / 01 / 2005  -d /usr/home/username/htdocs/sitename.ru sitename.ru

На странице http://cvs.ru/cvs-ru.html#SEC131 читаю:
CVS.RU
Команда export: экспортировать исходные тексты

Краткая сводка: export [-flNnR] [-r rev|-D дата] [-k subst] [-d dir] модуль...
Требует: репозиторий.
Изменяет: текущий каталог.
Эта команда похожа на команду checkout; еЁ нужно использовать, если вы хотите получить копию исходных текстов модуля без служебных каталогов CVS. Например, команду export можно использовать, чтобы подготовить исходные тексты для передачи вовне. Эта команда требует указания даты или метки (с помощью ключей `-D' или `-r'), чтобы вы могли воспроизвести те же самые файлы, которые вы отдаете.

Часто при использовании cvs export приходится указывать флаг `-kv'. При этом ключевые слова будут развернуты так, чтобы при импорте в другом месте не потерялась информация о ревизиях. Помните, что в этом случае бинарные файлы не будут корректно обрабатываться. Также помните, что после использования флага `-kv' больше нельзя будет использовать команду ident (являющуюся частью пакета RCS), которая ищет строки с ключевыми словами (см. ident(1)). Если вы хотите использовать ident, то не используйте `-kv'.

Ключи команды export
Команда export поддерживает стандартные ключи, описанные в See section Стандартные ключи командной строки.

-D date
Использовать саму свежую ревизию не позже чем date. @std-option-f @std-option-l
-n
Не выполнять программ при извлечении. @std-option-R
-r метка
Использовать ревизию метка.
Вдобавок поддерживаются следующие ключи (общие для checkout и export):

-d dir
Создать для рабочих файлов каталог dir, а не использовать имя модуля. See section Ключи команды checkout, где полностью описаны детали обработки этого флага.
-k subst
Установить режим подстановки ключевых слов (see section Режимы подстановки).
-N
Полезно только при использовании вместе с `-d dir'. See section Ключи команды checkout, где полностью описаны детали обработки этого флага.



1) Создал проект, репозиторий
2) Выполнил checkout обратно на диск в пустую директорию
3) Добавил структуру каталогов и сами скрипты
4) Закоммитил в репозитоорий

5) Запускаю скрипт - получаю:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
cvs export: Updating /usr/home/username/htdocs/sitename.ru
? /usr/home/username/htdocs/sitenameru/access.log
? /usr/home/username/htdocs/sitename.ru/cfg
? /usr/home/username/htdocs/sitename.ru/design
? /usr/home/username/htdocs/sitename.ru/error.log
? /usr/home/username/htdocs/sitename.ru/lang
? /usr/home/username/htdocs/sitename.ru/lib
? /usr/home/username/htdocs/sitename.ru/source
? /usr/home/username/htdocs/sitename.ru/sql
? /usr/home/username/htdocs/sitename.ru/www

6) Изменил 1 файл 111.php
7) Запускаю скрипт - получаю:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
cvs export: Updating /usr/home/username/htdocs/sitename.ru
cvs export: move away /usr/home/username/htdocs/sitename.ru/ 111 .php; it is in the way
C /usr/home/username/htdocs/sitename.ru/ 111 .php
? /usr/home/username/htdocs/sitenameru/access.log
? /usr/home/username/htdocs/sitename.ru/cfg
? /usr/home/username/htdocs/sitename.ru/design
? /usr/home/username/htdocs/sitename.ru/error.log
? /usr/home/username/htdocs/sitename.ru/lang
? /usr/home/username/htdocs/sitename.ru/lib
? /usr/home/username/htdocs/sitename.ru/source
? /usr/home/username/htdocs/sitename.ru/sql
? /usr/home/username/htdocs/sitename.ru/www

8) Делаю простой update локального репозитория при помощи WinCVS - все изменения естественно зафиксированы... Т.е. коммит прошел.

Знаю, что если при апдейте стоит ? - это значит, что CVS определила обновляемый файл/каталог как не-CVS файл/каталог.
Если С - значит конфликт версий


Как такое может быть?

Догадываюсь, что вся проблема с ключом -D
по ходу надо как то генерить шеллом текущую дату
CVS.RU-D date
Использовать саму свежую ревизию не позже чем date. @std-option-f @std-option-l

Уважаемые, помогите разобраться с ключами команды cvs export
...
Рейтинг: 0 / 0
20.08.2004, 13:55
    #32658979
CVS
CVS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите настроить экспорт из CVS в DocumentRoot апача при помощи shell-скрипта по крону.
Это очень важно! Помогите плиз...
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Помогите настроить экспорт из CVS в DocumentRoot апача при помощи shell-скрипта по крону. / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]