У меня небольшой вопрос с большим фоном. Позвольте мне попросить короткую версию, а затем немного ее расширить.
Краткая версия моего вопроса выглядит следующим образом.
Представьте себе ситуацию - у вас есть ветвь A с списками изменений от 1000 до 1004. Затем вы создаете ветку B из списка изменений 1004 и добавляете еще пару ревизий (1005, 1006). После этого вам нужно удалить дельту, представленную списком изменений 1002 из ветви B. Как я могу это сделать? Если мне нужно это на ветке А - нет проблем, просто откат на 1001 и реинтеграция 1003-1004. Но мне нужно удалить дельту, которая была представлена списком изменений в ветке, у которой нет этого списка изменений в его истории. Итак, как я могу сделать это "выборочное удаление"?
Лирический фон моего вопроса следующий.
В старые времена, когда я был инженером ClearCase, я иногда использовал функцию под названием «вычитающее слияние». Я вызвал команду «объединить», указал две версии, чтобы определить дельту, и флаг, который сказал что-то вроде «удалить» (это было несколько лет назад, я забыл точный флаг). Что он сделал, так это то, что он удалил указанную дельту независимо от того, когда эта дельта была фактически введена - 1 коммит или год назад. Так что это вычитающее слияние, которое может быть использовано в качестве отката без удаления каких-либо версий, вроде как «вырезать» некоторую дельту.
Теперь я использую Perforce и вижу команду «Откат», которая позволяет создать список изменений, который удаляет дельту из «сейчас» обратно в список изменений, который я указываю. Именно так советует база знаний Perforce, когда вам нужно удалить дельту. И если вам нужно удалить диапазон списков изменений, вам необходимо откатить весь стек этих списков изменений из «сейчас» обратно в предыдущий список изменений, а затем интегрировать обратно все, кроме списка изменений, который вы хотели выбросить. Итак - удалите N списков изменений, а затем интегрируйте обратно N-1 список изменений. Я не знаю ... Это выглядит как накладные расходы для меня.
Итак, я спрашиваю опыт пользователей Perforce, знаете ли вы, как выполнить «вычитающую интеграцию» в Perforce?
Заранее спасибо.