Вы получите множество различных предложений (mq, histedit, import/export), которые по сути делают одно и то же. И все они будут казаться очень неуклюжими, потому что mercurial построен на концепции неизменной истории — изменение истории должно быть трудным. Тем не менее, как вы правильно понимаете, если вы еще не нажали csets, это возможно. Вот процедура, которую я бы использовал — я предпочитаю ее, потому что она не требует включения расширений:
hg export --git -o ../all-five-csets.patch 0:tip
cd .. # exit the repo
vi all-five-csets.patch # delete the line manually each time it appears (probably only once)
hg init newrepo
cd newrepo
hg import ../all-five-csets.patch
cd ..
mv repo was-repo
mv newrepo repo
Все, что там происходит, это то, что вы экспортируете csets в текстовые представления самих себя. Создание нового пустого репо, а затем повторный импорт csets. Я сделал их все, потому что у тебя только пять. Если бы вы хотели изменить последние 5 из 500, я бы создал новый репозиторий, выполнив clone -r
, который клонирует «до определенного момента», а затем применил csets, которые я оставил, в их отредактированной форме через импорт.
person
Ry4an Brase
schedule
12.07.2010