Есть ли способ в Mercurial / TortoiseHg удалить набор изменений, сохранив его изменения в рабочей копии?

#mercurial #tortoisehg #changeset

#mercurial #tortoisehg #набор изменений

Вопрос:

Как сказано в названии. По сути, мне нужен способ заставить Mercurial «забыть» набор изменений в локальном репозитории. Очевидно, что это сработало бы только для наборов изменений, которые не были отправлены, без возврата исходного набора изменений.

Ответ №1:

Mercurial не позволяет легко забыть что-либо — по умолчанию не включены команды, разрушающие историю. Без включения каких-либо расширений самым простым способом сделать это было бы:

 hg clone -U -r LAST_CHANGE_YOU_WANT your-repo new-repo
  

а затем замените .hg в your-repo на .hg из new-repo .

Ответ №2:

В данном случае конкретно, я пытался переместить изменения между ветвями, когда обычное слияние не сработало, поэтому я использовал MQ, однако я хотел, чтобы изменения остались в рабочей копии, а не были случайно перенесены. Похоже, что можно сделать то, что я хотел с hg import --no-commit , для чего TortoiseHg в настоящее время не предоставляет (но скоро должен) никакого пользовательского интерфейса.