Как подавить расширение ключевых слов в Starteam на уровне клиента, чтобы включить локальное зеркалирование для DVCS? - PullRequest
1 голос
/ 22 мая 2009

Я пытаюсь отразить свой корпоративный сервер Starteam CM с помощью локальной распределенной системы контроля версий (Mercurial). Я сталкиваюсь с проблемами, когда вижу много изменений из-за расширения ключевых слов в Starteam при оформлении заказа. Например, сервер настроен для расширения $ History до журнала комментариев каждого чекина и других метаданных. Они часто вызывают раздражающие конфликты, когда я пытаюсь объединиться.

Я могу вручную «раскрыть» ключевые слова, но кодовая база чрезвычайно велика, и это займет слишком много времени.

Ответы [ 2 ]

1 голос
/ 23 мая 2009

Если ключевые слова выглядят как ключевые слова CVS / RCS ($Id$ и т. Д.), То расширение ключевого слова *1003* в комплекте с Mercurial может помочь в их расширении. Но, к сожалению, он поддерживает только простые ключевые слова, и похоже, что $History будет расширяться постепенно, как $Log$ ключевое слово CVS.

Но, может быть, вы можете использовать расширение ключевого слова в качестве отправной точки?

0 голосов
/ 12 июля 2009

Другой вариант на стороне Mercurial - использовать precommit ловушку для автоматического раскрытия ключевых слов в ваших файлах проверки Starteam.

Что-то подобное в вашем ~/.hgrc может помочь:

[hooks]
precommit.unexpand_starteam = find . -name '*.cpp' -print0 | xargs -0 perl -pie 's/$History.*?\n\n//m' ; exit 0

Это приведет к удалению всего из $ History через первую пустую строку в каждом файле прямо перед фиксацией. Я не использовал starteam, но должен быть какой-то способ идентифицировать конец блока истории (пустая строка была предположением), и с измененной строкой perl, чтобы отразить, что вам следует идти вперед.

...