Обратный Чангсет деятельности в Clearcase

У меня есть требование, опубликованное командой разработчиков, чтобы отменить все изменения в определенной деятельности UCM. Ограничение на то, что у нас нет прав на удаление. Это означает, что я знаю, что могу сделать lsactivity, чтобы перечислить все элементы в деятельности с их соответствующими версиями, и тогда в легком мире сможет удалить эти версии.

Но политика SCM не позволяет нам ничего удалять /удалять. Таким образом, я остался с обратным слиянием 1 версии назад. Смысл, скажем, у меня есть версия 5.java, проверенная в деятельности. Один из способов добиться этого - найти версию 4 (используя -предшественник) и слепо скопировать эту версию 4 как версию 6. Предположим, что на этот раз в каждом файле есть только 1 версия в действии. Если в файле было зарегистрировано более 1 версии через действие, это было бы более сложно, поэтому давайте пока проигнорируем это.

Любые другие идеи или мой подход будет / не будет работать?

1 ответ

Еще один надежный способ будет:

  • перечислить все файлы в деятельности
  • для каждого файла найдите самую старую версию
  • сделать отрицательное слияние или вычитающее слияние.

Субтрактивное объединение может быть выполнено для исключения или обхода плохих версий в ветви без фактического удаления плохих версий.
Cleartool объединить с помощью -delete опция позволит пользователю слиться с последней верной версией в новую версию в той же ветке, что исключает работу, выполненную в версиях, определенных как испорченные.

Это будет соответствовать вашим политикам SCM.

По сути, это то, что делает сценарий cset.pl, упомянутый Тамиром, как я объясняю в " Clearcase: как откатить все изменения в конкретной ветке?"

ccperl cset.pl -undo myActivity
Другие вопросы по тегам