Я ищу git commit --amend
в Mercurial, то есть способ изменить коммит, с которым связана моя рабочая копия. Меня интересует только последний коммит, а не произвольный ранний коммит.
Требования к этой процедуре внесения поправок:
-
если возможно, он не должен требовать каких-либо расширений. Он не должен требовать расширений не по умолчанию, то есть расширений, которые не поставляются с официальной установкой Mercurial.
-
если обязательство изменить - один из моих нынешних веток, новый руководитель создавать не следует. Если фиксация не является заголовком, может быть создан новый заголовок.
-
процедура должна быть безопасной, так что если по каким-либо причинам изменение не удастся, я хочу восстановить ту же рабочую копию и состояние хранилища, что и до внесения изменений. Другими словами, если само изменение может потерпеть неудачу, должна существовать отказоустойчивая процедура для восстановления рабочей копии и состояния хранилища. Я имею в виду "сбои", которые лежат в природе процедуры внесения изменений (например, конфликты), а не проблемы, связанные с файловой системой (например, ограничения доступа, невозможность заблокировать файл для записи,... )
Обновление (1):
- процедура должна быть автоматизируемой, поэтому она может выполняться клиентом с графическим интерфейсом без какого-либо вмешательства пользователя.
Обновление (2):
- файлы в рабочем каталоге не должны быть затронуты (могут быть блокировки файловой системы на некоторых измененных файлах). Это особенно означает, что возможный подход ни в коем случае не может требовать чистого рабочего каталога.