Обратный Чангсет деятельности в Clearcase
У меня есть требование, опубликованное командой разработчиков, чтобы отменить все изменения в определенной деятельности UCM. Ограничение на то, что у нас нет прав на удаление. Это означает, что я знаю, что могу сделать lsactivity, чтобы перечислить все элементы в деятельности с их соответствующими версиями, и тогда в легком мире сможет удалить эти версии.
Но политика SCM не позволяет нам ничего удалять /удалять. Таким образом, я остался с обратным слиянием 1 версии назад. Смысл, скажем, у меня есть версия 5.java, проверенная в деятельности. Один из способов добиться этого - найти версию 4 (используя -предшественник) и слепо скопировать эту версию 4 как версию 6. Предположим, что на этот раз в каждом файле есть только 1 версия в действии. Если в файле было зарегистрировано более 1 версии через действие, это было бы более сложно, поэтому давайте пока проигнорируем это.
Любые другие идеи или мой подход будет / не будет работать?
1 ответ
Еще один надежный способ будет:
- перечислить все файлы в деятельности
- для каждого файла найдите самую старую версию
- сделать отрицательное слияние или вычитающее слияние.
Субтрактивное объединение может быть выполнено для исключения или обхода плохих версий в ветви без фактического удаления плохих версий.
Cleartool объединить с помощью-delete
опция позволит пользователю слиться с последней верной версией в новую версию в той же ветке, что исключает работу, выполненную в версиях, определенных как испорченные.
Это будет соответствовать вашим политикам SCM.
По сути, это то, что делает сценарий cset.pl, упомянутый Тамиром, как я объясняю в " Clearcase: как откатить все изменения в конкретной ветке?"
ccperl cset.pl -undo myActivity