Я попытался объединить некоторую работу, которую разработчик сделал в рабочей ветке, с стабильной веткой. Файлы a, b и c были изменены, по крайней мере, дюжиной наборов изменений, так как общий предок ветвей STABLE и HEAD был разделен.
Я ожидал, что, поскольку этот разработчик изменил пять строк в каждом из файлов a, b и c, что при интеграции из HEAD в ветку STABLE я получу его изменения в моем ожидающем наборе изменений, который я затем смогу просмотреть и зафиксируй.
Вместо этого, похоже, что он принял все изменения, произошедшие с файлом A, поскольку эти два были разветвлены, и применил все те изменения, которые также существовали в рабочей копии моего коллеги.
Другими словами, в наборе изменений, похоже, нет записи о том, что на самом деле изменил мой коллега, по сравнению с тем, что ранее содержалось в файле.
Если я просматриваю представленные наборы изменений, я вижу разницу между версией файла моего коллеги и непосредственно предшествующей версией. Но тогда, похоже, это не определяет, что входит в слияние.
Не означает ли набор изменений "набор изменений, внесенных между версией X и версией X + 1 файла"?
Кто-нибудь может мне помочь понять, что значит «интегрировать набор изменений», когда на самом деле кажется, что Perforce не отслеживает изменения, а отслеживает файлы.
Вполне возможно, что я все делаю неправильно, и буду признателен за любой указатель на то, как вы можете точно и безопасно объединить рабочие ветки Perforce и стабильные ветки, без вещей, которые вы не хотите получать интегрируется в стабильную ветвь интегрируется. Кажется, что независимо от того, насколько просты изменения, внесенные в продукт, слияние на самом деле не работает.