abort: имя пользователя не указано (см. «hg help config»)


164

Я добавил хранилище и во время коммита я получаю сообщение об ошибке

error:  abort: no username supplied (see "hg help config") 

Я не получаю файл Mercurial.ini на моем локальном компьютере. Кто-нибудь знает, как я могу решить эту ошибку на Fedora?


2
Файл Mercurial.ini - это файл конфигурации пользователя в Windows. На Fedora это, вероятно, будет ~ / .hgrc
hwiechers

Ответы:


179

Либо поместите hgrc в каталог .hg вашего репозитория, либо поместите файл .hgrc (hgrc для Windows) в свой домашний каталог (тогда он охватывает все ваши проекты). В этом файле вы должны написать

[ui]
username = Your Name <your@mail>

1
в Unix или Cygwin файл в вашем домашнем каталоге начинается с точки: .hgrc
neves

Да, Грегм отредактировал его для имен файлов Windows, поэтому я уточнил это сейчас, охватывая оба.
CJG

1
Из Mercurial 3.0 может быть полезна hg config -eкоманда, которая открывает редактор с вашим домашним файлом конфигурации. Смотрите hg help -c configбольше вариантов.
Сантьягопим

Я такой глупый! Не забыли тег [ui]!
Авангард69

55

В Windows эти файлы конфигурации читаются:

- "<repo>\.hg\hgrc"
- "%USERPROFILE%\.hgrc"
- "%USERPROFILE%\Mercurial.ini"
- "%HOME%\.hgrc"
- "%HOME%\Mercurial.ini"
- "C:\Mercurial\Mercurial.ini"
- "HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial"
- "<install-dir>\Mercurial.ini"

В Unix эти файлы читаются:

- "<repo>/.hg/hgrc"
- "$HOME/.hgrc"
- "/etc/mercurial/hgrc"
- "/etc/mercurial/hgrc.d/*.rc"
- "<install-root>/etc/mercurial/hgrc"
- "<install-root>/etc/mercurial/hgrc.d/*.rc"

Включите следующее в один из этих файлов выше:

[ui]
username = Your Name <your@mail>

3
[ui] username = Your Name указывает, как указать имя пользователя.
Лука Рамишвили

На самом деле это не так, потому что он не говорит, в каком файле должно храниться имя пользователя, и не объясняет, почему он не имеет или не просил зарегистрировать имя пользователя.
anon58192932

1
Будучи педантичным, приведенные выше комментарии являются правильными, это не отвечает на вопрос. Тем не менее, он добавляет полезную информацию, поэтому +1.
Bobble

19

Простой ответ - в вашей папке .hg создайте файл с именем .hgrc и добавьте следующее содержимое (проверьте hg help configточный синтаксис)

[ui]
username = forename surname <forename.surnamce@email.com>
verbose = True

и сохрани это. Должен работать сейчас. Обратите внимание, что verbose = True не требуется, но я включил его, так как он указан в справке

(Это из памяти, но hg help configскажет вам правильное имя файла и синтаксис)


как я сказал в ответе, это не требуется, но я вставил его, потому что это то, что hg help configвыводит. Просто в ответе за последовательность. :)
ZombieSheep

4
Лучше указывать имя пользователя в глобальном файле ~ / .hgrc, а не в файле репо.
Ry4an Brase

если вы поместите файл в projectdir / .hg, то это должен быть проектdir / .hg / hgrc, а не .hgrc
Лука Рамишвили

Следовал вашим указаниям Ry4an и сделал: коснитесь ~ / .hgrc edit ~ / .hgrc, а затем пропустите содержимое ансера зомби овец, мой подробный бит, в файл. Проблема решена :)
anon58192932

16

запустите hg config --edit (протестировал его в hg 3.1 как на Linux Debian, так и на Windows ), он создаст (если не существует) и откроет файл с текстом:

# example config (see "hg help config" for more info)

[ui]
# name and email, e.g.
# username = Jane Doe <jdoe@example.com>
username = 

[extensions]
# uncomment these lines to enable some popular extensions
# (see "hg help extensions" for more info)
# pager =
# progress =
# color =  

заполните поле "username" и сохраните файл


@lazycommit, какая у тебя версия hg и ОС? Я проверил в 3.1.1 в Linux Debian и Windows 7 - там работает. Может быть, ваша ХГ старше.
Николай Сайко

2.8.2 да, он старый)
lazycommit

2

Убедитесь, что текущий пользователь владеет файлом hgrc или имеет иные права на него.


1

положить файл .hgrc в $ HOME или home / user

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.