Как отслеживать сторонние источники с помощью ClearCase без головной боли?
-
05-07-2019 - |
Вопрос
Прежде всего:Я не являюсь опытным пользователем ClearCase, но имею большой опыт работы с другими инструментами командной строки VCS и *nix.В ClearCase я использую инструмент командной строки («cleartool»), работающий в оболочке Unix.
Проблема:У меня есть небольшой набор исходников, хранящихся в ClearCase.Время от времени приходит свежий .tgz с теми же исходными кодами, и мне приходится обновлять исходные коды в репозитории (процесс нельзя изменить, чтобы другая сторона использовала ClearCase).
Теперь я делаю следующее:
- Извлеките tgz, скажем, в "~/new_src"
- «ct setview ...» и перейдите в место, где находятся исходники (скажем, «/vobs/src»)
- Я сравниваю исходники с "diff -Naurb.~/new_src", проверьте вывод diff и:
- Скопируйте новые файлы в /vobs/src и выполните с ними «cleartool mkelem».
- Извлеките измененные файлы, скопируйте новые исходные коды и зафиксируйте их.
- Выполните «cleartool mkdir» для новых каталогов и заполните их.
Этот процесс постепенно сводит меня с ума, поскольку практически в любой другой системе контроля версий я бы просто проверял исходники, копировал новые исходники, проверял различия, добавлял новые файлы и затем все это коммитил.Или еще лучше использовать теги/ветки, хотя они в данном случае действительно не нужны — мне нужно иметь в репо актуальную версию исходников, вот и все.
Я пытался все проверить (используя «cleartool co -nc find .
"), скопируйте новые исходные коды и затем зафиксируйте измененные файлы/добавьте новые файлы.Но это требует анализа вывода «cleartool ls», и это еще сложнее.
Я мог пропустить что-то очевидное, но несколько посещений Google показали, что это не так.Однако мне хотелось бы услышать это от опытных пользователей ClearCase: есть ли надежда на таких невежественных людей, как я, или нет?:)
Решение
Я просто хочу быть уверен:
Вы знаете о clearfsimport , верно?
Потому что после прочтения (может быть, слишком быстро) вашего вопроса, эта команда может быть тем, что вы ищете ...
Я так и думал ... Если вам нужны подробности, оставьте комментарий к этому ответу. Я буду следить за ними.
Другие советы
Я храню кучу модулей Perl в прозрачном виде. Но я просто проверяю файлы tar.gz, и у меня есть скрипт, который идет и извлекает & amp; установите их (в дерево сборки) как часть процесса сборки.
Я, вероятно, склоняюсь к той же идее и с другими языками - просто сделайте шаг в файлах make, чтобы извлечь tar-архивы, прежде чем продолжить сборку. Упрощает замену новых версий.
Если вы используете ClearCase UCM, есть другой подход к работе со сторонним репозиторием — используйте компоненты (чтение-запись или, обычно, только чтение).
BR, Tamir Gefen CM и консультант ALM мой блог: http://almmmm.wordpress.com