Как я могу использовать ClearCase, чтобы "добавить к исходному контролю..." рекурсивно?
Я распаковал доставку zip-файла в прозрачном виде. Теперь я хочу добавить полное дерево файлов в хранилище. Графический интерфейс предоставляет только "Добавить в систему контроля версий..." для отдельных файлов / каталогов. Вы знаете, как рекурсивно добавить все дерево?
(Я работаю в системе Windows, но у меня установлен Cygwin.)
10 ответов
Я бы предпочел пойти со скриптом clearfsimport, лучше приспособленным для многократного импорта одного и того же набора файлов, и автоматически:
- добавить новые файлы,
- сделать новую версию существующих файлов, ранее импортированных (но измененных в исходном наборе файлов, повторно импортированными)
- удалить файлы, уже импортированные, но больше не присутствующие в исходном наборе файлов.
- сделать четкий журнал всех операций, выполненных в процессе импорта.
Так что если вам необходимо регулярно обновлять доставку zip-файлов, clearfsimport - это путь, но со следующими опциями:
clearfsimport -preview -rec -nset c:\sourceDir\* m:\MyView\MyVob\MyDestinationDirectory
Обратите внимание:
- опция -preview: она позволит проверить, что произойдет, фактически ничего не делая.
- '*' используется только в среде Windows, чтобы импортировать содержимое каталога
- опция -nset.
Из CMWiki об этой опции 'nset':
По умолчанию clearfsimport предназначен для использования владельцем vob или привилегированным пользователем, но пользователи часто пропускают опцию -nsetevent, с которой он может использоваться любым пользователем.
Эта опция заставляет clearfsimport не устанавливать временные метки элементов для этого объекта исходного файла вне vob (который требует привилегированного доступа).
Существует небольшой неочевидный побочный эффект: если версия будет создана с текущей отметкой времени, даже владелец vob не сможет импортировать поверх нее версию с более старой версией (как это было бы) метка времени, без этой опции -nsetevent. Т.е. как только вы используете эту опцию, обычный или привилегированный пользователь, вы более или менее обязаны использовать ее в продолжении.
Вот еще один способ, который я нашел с помощью проводника Windows:
- Выбрать
Search...
из контекстного меню в целевой директории. - Ищи
*
, - Выбрать все (
Ctrl-A
) файлы / каталоги в списке результатов. - Выбрать
ClearCase
>Add to source control...
из контекстного меню элемента в списке результатов.
Там вы идете...
Так как у меня не было доступа к clearfsimport, я добавил файлы / каталоги в два этапа:
1.) find . ! -path . -type d | xargs cleartool mkelem -mkpath -nc
Это создаст узлы для всех новых каталогов рекурсивно
2.) find ./ -type f | xargs cleartool mkelem -nc
Это создаст узлы для всех новых файлов рекурсивно
ClearTeam Explorer, версия 8 (возможно, и ранее), имеет рекурсивное добавление подкаталогов / файлов при выборе "Добавить в систему управления версиями". Когда появится диалоговое окно "Добавить в систему управления исходным кодом", установите флажок "Включить артефакты-потомки в выбранные каталоги" и снимите флажок "Проверять только файлы-потомки, не извлекать каталоги-потомки".
Вы должны использовать командную строку. Контекстное меню в Проводнике не делает это рекурсивно!
clearfsimport –recurse /usr/src/projectx /vobs/projectx/src
Похожее требование было рекурсивно добавить каталог в ClearCase. Поскольку у меня не было доступа к инструменту clearfsimport, и у меня нет ClearCase, интегрированного с Windows Explorer, я нашел простое решение в ClearCase GUI.
1) Добавьте корневой каталог, используя пункт меню "Добавить в систему управления версиями". 2) Нажмите на этот каталог, а затем используйте "Поиск ClearCase" для поиска всех личных файлов в этом каталоге. 3) Выберите все из результатов поиска и "Добавить в систему контроля версий"
Там вы идете! Весь каталог рекурсивно добавляется из ClearCase GUI
Вот скрипт для этого и советы по интеграции скрипта из Проводника
http://www.ibm.com/developerworks/rational/library/4687.html
Вы можете получить исправление в
http://www-01.ibm.com/support/docview.wss?ratlid=cctocbody&rs=984&uid=swg21117629
Вы также можете добавить эту команду в контекстное меню с помощью небольшого скрипта...
редактировать: о, извините. не видел, что это уже было предложено...
Я согласен, найти +select+add-to-source-control из проводника Windows не очень хороший вариант, если количество файлов для контроля версий огромно. Как уже упоминалось выше, explorer.exe падает, если мы пытаемся добавить большое количество файлов.
clearfsimport - лучшая и самая удобная бесплатная утилита для этой задачи.
-GP