Как отменить слияния на ветке в прозрачном? - PullRequest
1 голос
/ 30 января 2020

Фон

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

/some/dir/here@@/main/dev/view_dev__456_textDescription
/some/dir/here/file.txt@@/main/dev/view_dev__456_textDescription
/some/dir/here@@/main/dev/prod1/view_prod1_dev__456_textDescription
/some/dir/here/file.txt@@/main/dev/prod1/view_prod1_dev__456_textDescription

Каждое представление определенного продукта должен быть разветвлен от его ветви продукта.

Проблема

Я нахожусь в ситуации, когда я случайно создал вид продукта с указанием c, но не в ветке dev. Ниже приводится ситуация, в которой я нахожусь:

/some/dir/here@@/main/dev/view_dev__456_textDescription
/some/dir/here/file.txt@@/main/dev/view_dev__456_textDescription
/some/dir/here@@/main/dev/view_prod1_dev__456_textDescription <-- The erroneous branch
/some/dir/here/file.txt@@/main/dev/prod1/view_prod1_dev__456_textDescription

Попытка решения

Я попытался использовать эту команду, чтобы избавиться от ошибочной ветви:

ct rmbranch /some/dir/here@@/main/dev/view_prod1_dev__456_textDescription

Но я получил это ошибка:

...
Checking for mergeouts on branch [view_prod1_dev__456_textDescription] ...
ERROR: Cannot delete a WI branch that has mergeouts
cleartool: Warning: Trigger "TRG_PRE_RMBRANCH" has refused to let rmbranch proceed.
cleartool: Error: Unable to remove branch "/some/dir/here@@/main/dev/view_prod1_dev__456_textDescription"

Исходя из ошибки, мне нужно избавиться от слияний для этой ветви. Таким образом, мой вопрос ...

Вопрос

Как отменить слияния определенной c ветки в прозрачном регистре?

1 Ответ

1 голос
/ 30 января 2020

Предполагая, что здесь базовый ClearCase, вы делаете ct lstree --graph для некоторого файла, чтобы увидеть, объединены ли они с другой версией ветки.

То есть: проверьте, видите ли вы красную стрелку, как показано в " Найти все незакрепленные файлы / элементы в ClearCase".
Этот ответ включает в себя поиск в cleartool, который даст вам все объединенные элементы между двумя ветвями.

Для каждой версии элемента, участвующей в этом объединении (опять же, предполагая базовый ClearCase), вы можете:

  • описать эту версию и найти из нее гиперссылку слияния.
  • сделать cleartool rmhlink Merge@xxxxx@/vobs/yourvob, удаление указанной гиперссылки.

Если гиперссылка на слияние больше не view_prod1_dev__456_textDescription, TRG_PRE_RMBRANCH больше не должен блокировать rmbranch.

См. cleartool rmhlink и предыдущий вопрос: " Как найти определенные c виды гиперссылок слияния в ClearCase? ".

...