Найти перемещенные файлы в действиях ClearCase

Я пишу скрипт, который преобразует проект на моем рабочем месте из ClearCase в Mercurial + Jira. У меня проблемы с перемещенными файлами. Я использую lsact -long для изменения файлов в действии. Проблема в том, что когда, например, каталог был переименован, изменение проявляется только в его родительском каталоге, и оно отображается с «описанием» следующим образом:

Добавлен элемент каталога "new_name". Некаталогизированный элемент каталога "old_name"

Проблема в том, что здесь явно не указано, что каталог перемещен, поэтому может быть, что кто-то удалил старый каталог и создал новый.

Как узнать, были ли перемещены файлы в ревизии каталога?


person Amir Rachum    schedule 15.01.2013    source источник


Ответы (1)


При любом переходе на Mercurial или Git я никогда не беспокоился об этой информации.

Я просто выбираю согласованную ревизию из ClearCase (базовая версия UCM или полная метка) и добавляю ее в репозиторий (Hg или git).
Я повторяю процесс ревизия за ревизией.

Hg или Git автоматически обнаружит переименования (файлов или каталогов).

Другими словами, любые метаданные, записанные VCS, не будут транслироваться, как в Git или Mercurial.
Что касается переименований, эти DVCS проанализируют соответствующие версии и выведут переименования, если вы их попросите, после < / em> импортировав все, и при использовании вашего репо (например, git diff -M или hg log --follow.

При этом, если вы хотите сообщить Hg, что элемент перемещен (например, «Как переименовать каталог в Mercurial и продолжить отслеживание все изменения файлов "), вы можете проверить (если еще не удалили) историю событий этого родительского каталога или одного из" new_name ":

cleartool lshist -long ...

Эти события могли записать операцию переименования или перемещения.

person VonC    schedule 15.01.2013
comment
Что касается миграции - когда мы мигрируем, мы хотим, чтобы гранулярность фиксации в Mercurial в идеале была действием ClearCase, то есть каждый запрос ChangeRequest (не уверен, является ли это глобальной терминологией CC или нашими собственными определениями) должен быть фиксацией в Mercurial. - person Amir Rachum; 16.01.2013
comment
Активность @AmirRachum ClearCase - хорошая единица измерения, но, в конце концов, слишком сложна для отслеживания (особенно когда дело доходит до доставки / перебазирования действий, которые маскируют вспомогательные действия (stackoverflow.com/a/13565533/6309 и stackoverflow.com/a/14022262/6309 ). - person VonC; 16.01.2013
comment
@AmirRachum Я просто выбираю базовые планы, от самых старых до самых новых, проверяя, чтобы они были полными базовыми планами, и копирую их содержимое в рабочее пространство Hg, фиксируя каждое из них. Вам нужно иметь в виду только одно репо для каждого компонента UCM (вместо того, чтобы пытаться импортировать все в одно репо Hg). - person VonC; 16.01.2013
comment
Как выбрать исходные условия? Я не очень разбираюсь в CC. Как я могу создать каталог с содержимым определенного базового уровня? - person Amir Rachum; 16.01.2013
comment
Сначала @AmirRachum, вы используете ClearCase UCM или просто базовый ClearCase? (stackoverflow.com/a/10614843/6309) - person VonC; 16.01.2013
comment
UCM, хотя я не совсем понимаю, что это значит. - person Amir Rachum; 16.01.2013
comment
@AmirRachum publib.boulder.ibm.com/infocenter/cchelp/v7r0m0/ Идея состоит в том, чтобы создать динамическое представление, убедитесь, что каждая базовая линия является полной (как в stackoverflow.com/a/10527967/6309) и измените спецификацию конфигурации (не-UCM) динамического представления, чтобы выбрать эту базовую линию. Импортируйте только последние несколько (не все из них) - person VonC; 16.01.2013
comment
В плане миграции вы обычно оставляете предыдущую VCS в режиме только для чтения для архива и оставляете только 3-4 последних базовых показателя, импортированных в ваш новый справочник VCS: это быстрее настроить: иметь короткую историю для работы в новом репо. - person VonC; 16.01.2013
comment
Как я могу создать динамическое представление, отличное от UCM? - person Amir Rachum; 16.01.2013