Базар объединяет только общие файлы с основной
В настоящее время я работаю над проектом, который состоит из двух этапов, один из которых будет удален позже. Разработка для фазы 2 должна начаться, но исправления ошибок для фазы 1 будут продолжаться в течение этого времени. Я хочу перейти из репозитория фазы 1, чтобы начать работу на фазе 2, но многие файлы больше не понадобятся. Мне нужно интегрировать любые изменения, внесенные в ветвь фазы 2, но я не хочу хлопот с повторным удалением файлов, которые мне больше не нужны, другими словами, я хочу объединить изменения только там, где у нас есть общие файлы.
Позвольте мне проиллюстрировать это на примере, скажем, у меня есть работа на первом этапе в этом репо:
Phase1 - a.txt - b.txt
Затем я перехожу к фазе 2 и удаляю a.txt, так как он мне больше не понадобится:
Phase2 - b.txt
Теперь допустим, что в рамках исправления ошибок фазы 1 обновлены как a.txt, так и b.txt. Я забочусь только о b.txt, но если я сделаю слияние, я получу: +N a.txt.OTHER M b.txt
Есть ли способ сделать это с базаром?
1 ответ
Да, этого можно добиться с помощью Bazaar, если вы начнете использовать шаблон Daggy Fixes ( зеркало).
Таким образом, вам нужно запомнить, какие файлы у вас есть в ветви фазы 2, и сделать исправления для них в отдельной ветви, общей для фазы 1 и фазы 2, и объединить эти исправления в обе фазы.
Используя ваш пример:
1) вам нужно исправить проблему в файле a.txt - вы можете работать непосредственно в исходной ветви фазы 1 (b1), и вам больше не нужно сливаться из этой ветви в фазу 2 (b2).
2) вам нужно исправить проблему только с файлом b.txt - вы сделали специальную ветку исправления ошибок как можно ближе к ревизии, где была введена ошибка в b.txt, вы должны создать ветку с исправлением ошибок от ревизии до ревизии, где фаза ветвления 2 началось. После того, как вы сделали свое исправление, вам нужно объединить ветку с исправленными ошибками в ветки b1 и b2.
3) вам нужно исправить проблему, связанную с a.txt и b.txt. В этом случае возможно, что такое исправление не понадобится для объединения его в b2. В этом случае вы можете работать, используя вариант 1 выше. Если некоторые изменения все еще важны для b2, вам нужно использовать вариант 2 выше для запуска исправления для b.txt, затем объединить исправление с ветвями b1 и b2 и продолжить работу над исправлением для a.txt.