Вопрос по CVS
От: Аноним  
Дата: 06.11.04 09:57
Оценка:
Добрый день.

Вопрос к спецам по организации проектов в CVS,
в доках и Google найти ответ не удалось...

Допустим есть проект состоящий из некой GUI-оболочки и библиотеки. Фактически два проекта GUIProject и LIB . Исходники оболочки и библиотекки лежат в репозитории независимо друг от друга. Чтобы связать их воедино, для начала прописал в файл modules строчку типа:

GUIProject GUIProject &LIB

После этого checkout GUIProject сливает эти два проекта, так что LIB становиться подкаталогом GUIProject, но сливается они только по основной ветке.

Теперь нужно настроить связь проектов так, чтобы update по определенной ветке проекта
GUIProject автоматически update-ил бы и проект LIB тоже по заданной ветке.
Вообще возможно ли организовать такое через modules или надо по другом ?
Re: Вопрос по CVS
От: Аноним  
Дата: 10.11.04 11:45
Оценка:
возможно я неясно выразился, попробую другими словами...

В общем нужно, чтобы при переходе к определенной ветке в одном проекте,
автоматически осуществлялся бы переход к заданной ветке и в другом проекте. Еще раз, есть Project1 и Project2. У каждого проекта есть ветка branch1 (название ветки в этих проектах могут совпадать а могут и различаться).
Изначально проекты сняты по основной ветке. Затем я в Project1 перехожу к ветку branch1 и хочу чтобы исходники Project2 автоматически апдейтились бы до своей ветки branch1.
Но так как такая хитрая связь между проектами не настроена, сейчас исходники Project2 естественно остаются в основной ветке.


И кстати возвращаясь к синтаксису файла modules.
Вот я прописал там аперсандный модуль (кстати, зачем вообще нужны
аперсандные модули если не для моей задачи ? ) и вподе бы могу еще указать в этой строке некоторые параметры. Например -t. Про это написано в офицальной доке, скажем тут http://www.mgul.ac.ru/~t-alex/Linux/node/node118.htm
Я не могу понять, что дают эти параметры, как их применять ?
Re[2]: Вопрос по CVS
От: Михаил Можаев Россия www.mozhay.chat.ru
Дата: 10.11.04 12:11
Оценка:
Здравствуйте, <Аноним>, Вы писали:

Странно, только что у себя проверил, все проекты дружно переходят на указанную ветвь.
Т.е. если я нахожусь в каком-то каталоге и делаю
cvs up -r MYBRANCH

то все файлы во всех подкаталогах этого каталога переходят на указанную ветвь, независимо от того,
как я чекаутил их содержимое (через &-модули или отдельно, вручную)

А>И кстати возвращаясь к синтаксису файла modules.

А>Вот я прописал там аперсандный модуль (кстати, зачем вообще нужны
А>аперсандные модули если не для моей задачи ? ) и вподе бы могу еще указать в этой строке некоторые параметры. Например -t. Про это написано в офицальной доке, скажем тут http://www.mgul.ac.ru/~t-alex/Linux/node/node118.htm
А>Я не могу понять, что дают эти параметры, как их применять ?

Вот, что написано в самом файле modules в шапке изначально:

# Three different line formats are valid:
# key -a aliases...
# key [options] directory
# key [options] directory files...
#
# Where "options" are composed of:
# -i prog Run "prog" on "cvs commit" from top-level of module.
# -o prog Run "prog" on "cvs checkout" of module.
# -e prog Run "prog" on "cvs export" of module.
# -t prog Run "prog" on "cvs rtag" of module.
# -u prog Run "prog" on "cvs update" of module.
# -d dir Place module in directory "dir" instead of module name.
# -l Top-level directory only -- do not recurse.
#
# NOTE: If you change any of the "Run" options above, you'll have to
# release and re-checkout any working directories of these modules.
#
# And "directory" is a path to a directory relative to $CVSROOT.
#
# The "-a" option specifies an alias. An alias is interpreted as if
# everything on the right of the "-a" had been typed on the command line.
#
# You can encode a module within a module by using the special '&'
# character to interpose another module into the current module. This
# can be useful for creating a module that consists of many directories
# spread out over the entire source repository.

Я пользуюсь -d, -a, &, -l
Если есть вопросы по ним, напиши, попробую объяснить...

С уважением,
Михаил.
... << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.