Ветка только на определенных расширениях в открытом регистре
Я пытаюсь написать конфигурационный файл, который будет разветвляться только для определенных типов файлов (IE Docs может быть болезненным, поэтому мы хотим избежать этого).
Прямо сейчас у меня есть следующие расширения: *.txt и *.pl (например)
Я пытался:
element * CHECKEDOUT
element -directory * \main\LATEST
element '{*.txt||*.pl}' \main\BLARG\LATEST
element '{*.txt||*.pl}' \main\LATEST -mkbranch BLARG
И некоторые варианты с использованием скобок и еще много чего.
Я просто сбит с толку, я обнаружил, что в определенных контекстах вы можете использовать операторы сравнения, подобные C++, но не можете заставить это работать.
(смотрите раздел языка запросов здесь: http://publib.boulder.ibm.com/infocenter/cchelp/v7r0m0/index.jsp?topic=/com.ibm.rational.clearcase.cc_ref.doc/topics/config_spec.htm
Я должен быть в состоянии использовать: запрос && запрос
Можно ли разрешить ветвление только для определенных типов файлов, используя конфигспекцию, и если да, то какие-нибудь советы / подсказки / что-то, что поможет мне двигаться в правильном направлении?
РЕДАКТИРОВАТЬ: читая по ссылке, которую я послал (одна из страниц на этом сайте в любом случае), вы можете настроить его, используя что-то с эффектом
element * CHECKEDOUT
element -directory * \main\LATEST
element *.[hc] \main\BLARG\LATEST
element *.[hc] \main\LATEST -mkbranch BLARG
Это должно соответствовать любым файлам h и c, которые вы просматриваете, и разрешать ветвление на их основе.
element * CHECKEDOUT
element -directory * \main\LATEST
element *.txt \main\BLARG\LATEST
element *.txt \main\LATEST -mkbranch BLARG
Это сработает и будет соответствовать только файлам.txt, и это здорово, я просто надеялся, что он подойдет для дополнительных наборов, может быть, я мог бы добавить дополнительную строку или две, и, возможно, это дало бы то, что я пытаюсь сделать.
element * CHECKEDOUT
element -directory * \main\LATEST
element *.txt \main\BLARG\LATEST
element *.pl \main\BLARG\LATEST
element *.txt \main\LATEST -mkbranch BLARG
element *.pl \main\LATEST -mkbranch BLARG
Наша группа разветвляет только определенные наборы файлов по разным причинам, одна из которых заключается в том, что в некоторых случаях слияние сложно (обратите внимание на файлы.doc). Я собирался написать конфигспекцию, которая автоматически разветвляет то, что наша команда определяет как "ветвистую", а в остальном просто проверяет main.
Я надеюсь, что моя проблема проясняется, и я думаю, что это не совсем то, о чем вы говорите в своем первоначальном ответе VonC (я думаю), пожалуйста, дайте мне знать, если ваш ответ остается в силе.
1 ответ
Нет, это не представляется возможным (если вы не перечислите каждый тип, который вы хотите разветвить), и по какой-то причине.
Идея ветвления состоит в том, чтобы изолировать историю для группы файлов (не для некоторых конкретных частей этой группы).
Эта идея была подкреплена UCM и его понятием компонента UCM (связный набор файлов, который разветвляется как все, и который помечается как единое целое).
Подробнее о "компоненте" читайте в статье " Лучшие практики использования составных базовых показателей в UCM".
Поэтому пытаться изо всех сил изогнуть инструмент, чтобы добиться того, чтобы одна организация по выборочному версионированию могла быть неправильной.
Изоляция этих файлов в их собственных "компонентах", а затем их использование через символические ссылки обратно в исходную древовидную структуру - это одно из возможных решений (может быть и другое), которое по крайней мере лучше (и напоминает понятие подмодулей или подмодулей леса, используемые другими (D)VCS)
Плюс, если вы переходите по той причине, что это "трудно" объединить:
- это не устранит проблему слияния, если вы сделаете изменение в своей собственной ветке (слияние должно быть выполнено рано или поздно)
- .doc Документ Word может быть теоретически объединен через
ms_word
менеджер типов.
См. " О слиянии файлов Microsoft Office в ClearCase" - чтобы автоматическое объединение не блокировалось бинарными артефактами вроде
.ppt
например, активируйте для этого типа политику слияния-копирования, как показано в " Clearcase UCM пытается объединить PDF-файлы".
Я понимаю, что вы осуществляете ветвление по другим причинам, которые могут быть действительными, но опять же, мне нравится моя политика ветвления, простая, управляемая и масштабируемая.