hg развязать в новую ветку - PullRequest
2 голосов
/ 17 февраля 2010

Можно ли разделить связанные наборы изменений в новую ветку в хранилище? Я попытался переключиться на новую ветвь перед выполнением разделения, но это не работает.

По сути, я начал новую линию разработки и понял, что мои коммиты должны были быть в новой ветке. Я сделал hg strip, чтобы удалить наборы изменений в пакет, и теперь я хотел бы повторно добавить этот пакет в новую ветвь.

Полагаю, я мог бы воссоздать патчи для каждого коммита, а затем повторно подтвердить каждый вручную (или, возможно, написать скрипт для этого), но это кажется ненужным. Спасибо за помощь!

Ответы [ 3 ]

3 голосов
/ 17 февраля 2010

В общем случае unbundle добавит старые наборы изменений точно так, как они были (начиная с того же родительского набора изменений). Хорошей альтернативой воссозданию патчей для каждого коммита может быть использование расширения трансплантата или перебазирования (в этом случае я бы пошел на перебазирование).

0 голосов
/ 17 февраля 2010

Нет. Атрибут ветвления является частью самого набора изменений, и изменение его приведет к изменению хеш-кода, по существу делая его другим набором изменений. Пакет - это просто push / pull, выполняемый вручную, и он не может изменить наборы изменений, поэтому он не может изменить их ветвь. Единственные вещи, которые могут это сделать, - это вещи, которые действительно изменяют набор изменений или воссоздают его, такие как экспорт / импорт, трансплантация, гистедит, mq и конвертация.

0 голосов
/ 17 февраля 2010

Вы можете клонировать свой репозиторий во временный репозиторий, распаковать его в пакет, проверить изменения, и, если вы удовлетворены, перенести их в свой основной репозиторий.Если вы не одобряете изменения, просто удалите временный репозиторий и пакет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...