Скрипт для подготовки сценариев к тестированию команды findmerge

Я тестирую скрипт слияния clearcase, и я хотел бы иметь еще один скрипт, который мог бы создавать эти 2 тестовых сценария каждый раз, когда он запускается:

  1. Измените 3 файла для тривиального слияния (100% автоматическое, различие не требуется)
  2. Измените 3 файла для конфликтующего слияния, требуется разрешение пользователя

Что я хотел бы знать, так это команды step / clearcase, необходимые для подготовки этих файлов. Все должно быть выполнено через командную строку (с помощью команд cleartool). У меня уже есть динамическое представление и несколько тестовых файлов, которые я могу использовать. Возможно, мне также нужно будет создать ветку для теста назначения.

Слияние выполняется с помощью команды ct findmerge следующим образом:

`cleartool findmerge filepath -fver version  -merge -log NUL -c comment`

Мне нужно проверить выходные данные в каждом из случаев, чтобы включить их в отчет, а также убедиться, что взаимодействие с пользователем не требуется.


person epzee    schedule 08.04.2011    source источник


Ответы (1)


Тебе нужно:

  • иметь две ветки, в которых вы делаете параллельную эволюцию в своих файлах
  • использовать просто cleartool checkout -nc myFile ; echo new modif >> myFile ; cleartool checkin -nc myFile для добавления эволюции с тривиальным слиянием в одной ветке (оставьте тот же файл нетронутым в другой ветке)
  • использовать один и тот же процесс в обеих ветвях с разным эхом каждый раз, чтобы добавить новую строку, отличающуюся в обеих версиях myFile: это приведет к нетривиальному слиянию.

Не забывайте, что вы также можете иметь тривиальные / нетривиальные слияния на уровне каталога (когда файлы добавляются / удаляются): нетривиальное будет в случае злой близнец.

person VonC    schedule 08.04.2011
comment
отлично, спасибо! Теперь мой следующий вопрос будет заключаться в том, как перейти с одной ветки на другую, прежде чем я выполню эти 3 команды, которые вы написали. - person epzee; 08.04.2011
comment
@epzee: Я бы порекомендовал простое решение: использовать два разных динамических представления, каждое со спецификацией конфигурации, установленной в правой ветке. Используйте одно из этих представлений в качестве места назначения для вашего слияния, где вы будете выполнять свой findmerge. - person VonC; 08.04.2011