Редактирование автора для конкретных наборов изменений - PullRequest
6 голосов
/ 01 февраля 2012

В данный момент я смотрю на переход от subversion к Mercurial на работе, и поэтому хранилище Mercurial еще не опубликовано.

Я использовал аргумент authormap для преобразования наших имен пользователей в Mercurialформат, который прошел нормально.

К сожалению, два человека совершали коммиты под одним именем.Хранилище не очень большое, поэтому я хотел бы изменить авторов, чтобы они соответствовали нужным людям.По этой причине я хотел бы спросить:

Есть ли способ изменить автора для определенного набора изменений или списка наборов изменений?

Ответы [ 2 ]

8 голосов
/ 01 февраля 2012

Вы можете использовать связанное расширение Mercurial Queues (MQ) , чтобы изменить авторов коммитов. Обратите внимание, что MQ будет работать только до тех пор, пока история линейна. Если есть ответвления, вам необходимо сначала переместить их во временную боковую ветвь, а затем после редактирования перебазировать их обратно.

Первые qimport изменения вплоть до первого набора изменений, который вы хотите изменить:

hg qinit
hg qimport -g -r <first-revnr>:tip

Затем используйте qpop или qgoto, чтобы перейти к соответствующим наборам изменений:

hg qgoto <revnr>.diff

А затем используйте qrefresh, чтобы изменить информацию пользователя о текущей активной группе изменений:

hg qrefresh -u "Some User <user@example.com>"

С помощью hg log можно проверить, правильно ли обновлен пользователь. После этого повторите для всех других наборов изменений.

Когда вы закончите, qpush все исправления и используйте qfinish для завершения хранилища.

hg qpush -a
hg qfinish -a
2 голосов
/ 12 января 2017

Вы также можете использовать расширение evolve .После настройки расширения

hg amend -U && hg prev

для стека коммитов, а затем hg evolve --all в конце.

Evolve представляет мета-график, который сообщает, какой коммит заменяет какой коммит.Поэтому, когда мы делаем hg amend -U несколько раз, мы создаем коммиты с другим автором, который заменил старые коммиты.hg evolve --all будет использовать информацию о замене, чтобы выяснить, куда перемещать коммиты, основанные на наших предварительно замененных коммитах.

Кредиты разработчикам Mercurial на IRC # mercurial.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...