Mercurial удалить ревизию, историю с слияниями - PullRequest
0 голосов
/ 07 сентября 2010

Я хочу удалить набор изменений из истории , но hg export не работает для набора изменений слияния (см. https://www.mercurial -scm.org / wiki / Export ). Есть ли способ использовать hg pull для диапазона ревизий? Например, я хочу удалить ревизию 999 и хочу сказать:

hg init NewRepo
hg pull ../OldRepo -r 0:1000
hg pull ../OldRepo -r 1000:tip

Есть идеи?

1 Ответ

1 голос
/ 08 сентября 2010

Извлечение не может вытащить диапазон ревизий, потому что каждая ртутная ревизия, которая существует в репозитории, также должна иметь все свои ревизии предков в этой ревизии.Поэтому, если вы сделаете:

hg pull ../oldRepo -r 1000

, вы получите все ревизии предшественника ревизии 1000.

В общем, mercurial - это создание неизменной истории - если вы сожалеете о наборе изменений, то вы не 'Чтобы удалить его, вы создаете новый, который отменяет работу набора изменений, который вам больше не нравится.Если вы не можете использовать полную историю в своем репо, вам нужно использовать что-то вроде расширения strip или convert.Оба работают так, как рекламируется, но предоставляют множество возможностей выстрелить себе в ногу.Если вы можете выдержать это, просто отмените обременительный набор изменений в последующем наборе изменений и продолжайте.

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