Как найти новые недоставленные файлы для данного потока UCM - PullRequest
1 голос
/ 02 марта 2011

Мы используем UCM для разработки.Мы создаем потоки под потоками, как это

child_streams

Вопрос в том, как найти новые файлы в данном потоке.

В примере "feat1" будет иметь новые файлы относительно его родителя lis1 (lis = локальный поток интеграции).Новые файлы могут быть из "feat1" или его дочерних потоков, таких как "developer1".Как я могу определить новые файлы в lis1?

Один из вариантов - создать динамические представления для потока (скажем, feat1) и его родительского потока (lis1), а также взять diff и выяснить файлы, новые в дочернем потоке.,

Другой вариант - использовать cleartool deliver -preview и получить список версий, а затем каким-то образом (пока не знаю) выяснить список файлов.
Проблема в том, что дочерний поток не обязательно перебазированего родителю, и мы применяем правило «перебазировать до последнего базового уровня перед доставкой».

Я надеюсь, что есть лучший и правильный путь:)

1 Ответ

2 голосов
/ 02 марта 2011

Я не думаю, что cleartool deliver -preview (как и его эквивалент не в UCM cleartool findmerge -preview) будет отображать полный список модифицированных / новых файлы.

Для новых файлов будут отображаться только те каталоги, которые необходимо объединить (чтобы ссылаться или отменять ссылки на файлы, добавленные / удаленные во время этого объединения).

Одним из способов (без использования внешнего инструмента сравнения) будет cleartool find запрос для поиска любого файла:

  • с версиями в ветке 'developer1'
  • без каких-либо версий в ветке 'lis'

Что-то вроде (не проверено):

cleartool find . -type f -version "brtype(developper1) && !brtype(lis)" -print

В случае OP Jayan :

cleartool find . -type f -element "brtype(developper1) && !brtype(lis)" -print

Перечислит только необходимые элементы (т.е. файлы , а не все версии этих файлов)

...