Полная история в открытом доступе для источника
Я пытался получить полную историю vob clearcase, чтобы проанализировать ее и использовать с gource, чтобы получить визуальное представление об изменениях, но я не нашел подходящих команд для получения простой истории журнала для анализа с помощью сценария python clearcase2gource. Я не использую UCM, нет потоков, просто cleacase.
С помощью этой команды я получаю элементы с @@ в середине пути:
cleartool lshistory -fmt "Element: %n| Date: %d| User:%u| Operation: %e| Object:%[type]p| SimpleType: %m| OperationKind: %o\n" -all /vobs/vob_name
С помощью этой команды я получаю элементы вроде этого (удалены в некоторый момент):
Element: /vobs/vob_name/dir1@@/main/branch_dev/2/dir2/main/branch_pilot/1/file@@/main/branch_pilot/1| Date: 2008-04-15T16:58:28+02:00| User:reeasjp| Operation: create version| Object:compressed_file| SimpleType: version| OperationKind: checkin
Это усложняет синтаксический анализ gource из-за нескольких имен веток в середине.
Есть ли способ получить полную историю всех элементов с простыми каталогами и именами файлов?
Заранее спасибо.
ПРИМЕЧАНИЕ: в конфиге Spec у меня просто "/main/LATEST".
1 ответ
Вопросы:
clearcase2gource.py
обработаны расширенные пути (см. " О расширенном пути "), найденныеcleartool lshistory
с некоторыми жестко закодированными предположениями.
e = d['Element']
splitElement = e.split("@@")
d['FileName'] = splitElement[0]
d['StreamName'] = splitElement[1]
# StreamName starts with /main/ which we aren't interested in.
# Remove the /main/ (slice on 5 because there are 5 chars in /main/)
d['StreamName'] = d['StreamName'][5:]
-
cleartool lshistory --all
будет отображать историю удаленных элементов (больше не видимых в текущем представлении ClearCase), отсюда и имена нескольких ветвей.
Самым простым решением было бы:
- перенаправить
cleartool lshistory
вывод в файл, и - затем отфильтруйте все расширенные пути, которые не соответствуют
clearcase2gource.py
ожидание: например, только для тестирования, оставьте только те, которые находятся в определенной ветке или в/main
только, чтобы посмотреть, работает ли это лучше. - наконец, подать этот файл в качестве входных данных
clearcase2gource.py