Clearcase: как проверить, есть ли у элемента версия в стволе, созданная после того, как я разветвился из ствола? - PullRequest
2 голосов
/ 23 августа 2010

Допустим, у меня есть VOB из 100 элементов. Из 100 я создал собственную ветку из последних версий соответствующих стволов. Допустим, я сделал это неделю назад. Сегодня я хочу посмотреть, есть ли у какого-нибудь из стволов 10 элементов версия, более новая, чем та, которую я разветвил неделю назад. Конечно, один из способов сделать это - посмотреть на деревья версий всех 10 элементов, но есть ли команда, которую я могу запустить, которая автоматически просматривает vob, находит 10 элементов с моей веткой и проверяет, есть ли версии на стволах более новые, чем версии, которые я разветвил?

Ответы [ 2 ]

1 голос
/ 23 августа 2010

Прежде всего, когда вы создаете ветку, в этой ветке нет новой версии для всех файлов.
На самом деле ветка будет создана для данного файла, только если этоВ файле есть операция checkout / checkin с заданной спецификацией конфигурации для создания этой ветви.

Теперь вы можете найти здесь (IBM) или здесь некоторый пример запросавы можете запустить поиск этих версий:

cleartool find . -version "brtype(myBranch)" -print

напечатает все версии в вашей ветке.

Если вы объедините это с запросом времени:

cleartool find . -version "{created_since(date1) && brtype(myBranch)" -print

,вы должны получить именно то, что вы хотите.


ОП добавляет:

Я не ищу элементы, где моя ветвь была создана после определенной даты.
Я ищу элементы, у которых есть моя ветвь (созданная на любую дату) И есть версия на стволе, которая была создана после того, как я создал свою ветку из ствола

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

cleartool find . -element "{brtype(myBranch)" -version "{created_since(date1) && brtype(trunk)" -print

, но это не гарантирует версию «trunk», созданную послетот, что на «my_branch».

Для этого вам придется написать его, сначала:

cleartool find . -element "{brtype(myBranch)" -exec "cleartool descr -fmt \"%n %d\" \"%CMEARCASE_XPN%\"" > afile

, а затем использовать файл для построения соответствующей директивы find для каждогофайл и найденные версии.
Вам придется поиграть с fmt_ccase, чтобы отобразить формат данных, совместимый с запросом даты .

0 голосов
/ 25 августа 2010

Почему бы не использовать функцию слияния, чтобы увидеть, есть ли что-то в основной ветке, которая была обновлена ​​по версии? Если вы запустили поиск слияния между main и вашей веткой (сохраняя main в качестве источника и ветвь в качестве места назначения), вы должны получить представление о том, что за это время изменилось в trunk Надеюсь это поможет.

PS: Вы можете использовать менеджер слияния clearcase, чтобы сделать это на окнах.

...