Mercurial: Как впоследствии внести изменения в сводку набора изменений после того, как он был зарегистрирован?

Возможный дубликат:
Можно ли редактировать сводку после коммита с помощью TortoiseHg?

В Mercurial, если я забуду включить дефект # в сводку проверки, как вы измените сводку ранее проверенного набора изменений, помимо настройки плоского файла и проверки последующего набора изменений только для того, чтобы прокомментировать предыдущий? регистрироваться?

Использование TortoiseHG.


person Jon Davis    schedule 30.08.2010    source источник


Ответы (2)


подходящий способ сделать это — использовать histedit. Histedit позволяет вам удалять, изменять, комбинировать или иным образом редактировать ваши предыдущие коммиты.

Histedit не поставляется с Mercurial и не может использоваться с TortoiseHg, но использование очень простое:

> hg histedit <rev>

где находится редакция, для которой вы хотите изменить комментарий. Histedit сгенерирует список наборов изменений и покажет вам их SHA1. Помимо каждого набора изменений есть слово, указывающее, что histedit будет делать с каждым набором изменений, как только вы закроете текстовое окно. Рядом с набором изменений, который вы хотите изменить, замените «выбрать» на «редактировать». Закройте текстовое окно и введите следующую команду:

> hg histedit --continue

и появится другое текстовое окно, содержащее сообщение журнала. Измените сообщение на то, что вы хотите. Вы можете сделать это для нескольких наборов изменений за один раз, если файлы еще не были опубликованы. Это довольно тривиальное использование histedit, более сложные варианты связаны с объединением коммитов или удалением части некоторого коммита.

EDIT 24/4/2011: очереди Mercurial кажутся более приемлемым/поддерживаемым способом выполнения такой задачи. Проверьте здесь для получения информации о расширении mq.

person dls    schedule 30.08.2010
comment
Спасибо за ваш ответ. Поскольку этот вопрос вот-вот будет закрыт/удален, скопируйте свой ответ сюда: stackoverflow.com/questions/3510781/ - person Jon Davis; 31.08.2010

Если вы не предоставили общий доступ к набору изменений, вы можете использовать откат и/или strip, чтобы отменить наборы изменений, а затем повторить их правильно. rollback отменит один набор изменений, а strip удалит произвольный набор изменений и всех потомков.

Опять же, не делайте этого, если вы уже поделились/отправили наборы изменений, иначе это может вызвать путаницу.

В TortoiseHG откат находится в диалоге восстановления, а полоса доступна в диалоговом окне контекстное меню изменений, если вы включили MQ.

person Matthew Flaschen    schedule 30.08.2010