Как я могу удалить некоторые фиксации в Подвижных, которые были применены к неправильному ответвлению и затем воспроизводят их на корректном?

Мой коллега фиксировал дважды на его репозитории на неправильном ответвлении.

Что самый эффективный путь состоит в том, чтобы взять те две фиксации, избавиться от них и затем фиксировать их правильно при правильном ответвлении? (изменения не были продвинуты),

Мы идеально хотели бы способ сделать это из TortoiseHG, но конечно, мы будем использовать командную строку, если это будет наилучший вариант.

12
задан Neil Trodden 23 July 2010 в 10:20
поделиться

2 ответа

Насколько я понял, лучше всего использовать трансплантат. Он применяет изменение к любой другой ревизии, которую вы хотите.

http://mercurial.aragost.com/kick-start/tasks.html#transplanting-changes

Решением моей проблемы было обновление ветки, в которой должны были быть применены два изменения, трансплантация двух изменения, а затем используйте mq, чтобы удалить изменения. Все это можно сделать и в tortoisehg.

6
ответ дан 2 December 2019 в 07:02
поделиться

Расширение Mercurial Queues (mq) может помочь .

Учитывая историю изменений, которая выглядит следующим образом:

@  changeset:   3:9dc681b56325
|  summary:     file4
|
o  changeset:   2:6675b3f86aa7
|  summary:     file3
|
| o  changeset:   1:4a3209ed5b2f
|/   summary:     file2
|
o  changeset:   0:6ab45ac3bd6d
   summary:     file1

Следующие команды перемещают набор изменений файла 'file4' в другую ветку (заголовок 'file2'):

hg qimport -r 3     // convert revision 3 to a patch
hg qpop             // remove it
hg update 1         // switch to the other branch head
hg qpush            // push the change back
hg qfin -a          // convert the applied patch back to a changeset

Результат:

@  changeset:   3:3faa754edb0b
|  summary:     file4
|
| o  changeset:   2:6675b3f86aa7
| |  summary:     file3
| |
o |  changeset:   1:4a3209ed5b2f
|/   summary:     file2
|
o  changeset:   0:6ab45ac3bd6d
   summary:     file1

Обратите внимание, что хэш набора изменений для версии 3 изменено из-за того, что набор изменений теперь имеет другого родителя. Более поздние версии TortoiseHg также поддерживают расширение MQ.

14
ответ дан 2 December 2019 в 07:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: