У меня есть следующая ситуация:
У меня есть ветвь br_foo из версии 4. После этого есть еще 3 изменения, сделанные в ветке по умолчанию: 6, 7 и 8. Я бы хотел только слить изменения 7 и 8 в br_foo. Есть ли способ достичь этого в mercurial?
Спасибо,
У меня есть следующая ситуация:
У меня есть ветвь br_foo из версии 4. После этого есть еще 3 изменения, сделанные в ветке по умолчанию: 6, 7 и 8. Я бы хотел только слить изменения 7 и 8 в br_foo. Есть ли способ достичь этого в mercurial?
Спасибо,
В зависимости от того, какую версию Mercurial вы используете, вы, вероятно, будете использовать либо новую Graft функциональность в Mercurial 2.x, либо старше Расширение трансплантата для более ранних версий Mercurial.
Это было объявлено недавно (ноябрь 2011 г.), поэтому у меня не было возможности самостоятельно работать с ним.
Эта команда использует Mercurial merge logic для копирования отдельных изменений из других ветвей без объединения ветвей в графе истории. Это иногда называют "backporting" или "cherry-picking". От по умолчанию, графт скопирует пользователя, дату и описание из источника Изменения.
Я использовал его только для этого сценария. Небольшой фрагмент из описания...
Это расширение позволяет вам пересаживать патчи из другой ветки или хранилище.
Он записывает исходный идентификатор набора изменений в измененном наборе изменений, и избегает трансплантации ранее пересаженных пластырей.
Он также может использоваться для перераспределения ветки с восходящими изменениями (включая отбрасывание наборов изменений, которые были приняты вверх по течению), переписать ревизии и внести изменения в некоторые изменения.
Так как mercurial 2.0 (выпущенный 1 ноября 2011 года) обрабатывается новой основной командой graft:
Эта команда использует Mercurial merge logic для копирования отдельных изменений из других ветвей без объединения ветвей в графе истории. Это иногда называют "backporting" или "cherry-picking".
См. также этот другой вопрос.