Как я могу переписать историю в Mercurial, чтобы изменить имя автора?

У меня есть ртутный (hg) репозиторий кода Google, который выглядит следующим образом.

Я пытаюсь отредактировать имя автора (в данном случае "Питер Эндрюс") из-за опечатки. Хранилище заброшено, и больше не будет коммитов, кроме как попытаться изменить имя.

Как я мог сделать что-то подобное?

Благодарю.

PS. Я использую MercurialEclipse

1 ответ

Единственно возможный способ, о котором я знаю, - это преобразовать ваш репозиторий в новый репозиторий Mercurial, используя расширение Convert Mercurial с --authors вариант.
Во время преобразования вы можете изменить имена авторов, предоставив текстовый файл с "сопоставлением".

Цитата из второй ссылки:

Преобразование может также переназначить имена авторов во время преобразования, если --authors опция предоставляется. Аргумент должен представлять собой простой текстовый файл, отображающий каждого исходного коммит-автора на конечного коммит-автора. Это удобно для исходных SCM, которые используют учетные записи UNIX для идентификации авторов (например, CVS). Пример:

john=John Smith <John.Smith@someplace.net>
tom=Tom Johnson <Tom.Johnson@bigcity.com>

Даунсайд:
Вам нужно будет удалить репозиторий в Google Code и заменить его на конвертированный, что означает, что каждый, кто клонировал старый репозиторий, должен будет удалить свои локальные копии и выполнить повторную загрузку.
Удаление и замена репо на сервере может показаться немного неуклюжим, но AFAIK нет другого способа изменить имена авторов впоследствии.

Другие вопросы по тегам