Помилка Mercurial: скасувати відсутність імені користувача


117

Проблема в WindowsXP (ймовірно, станеться у всіх програмах Win), вперше використовуючи Mercurial. Я знайшов відповідь у непомітному місці, тому я сам прошу / відповідаю на питання, щоб інші не потребували пошуку, як я.

Перший раз за допомогою Mercurial на машині.

Додати новий репозит:

c:\bla\>hg add

нема проблем.

Далі, виконайте:

c:\bla\hg commit

помилка:

abort: не введено ім’я користувача (див. "hg help config")


70
Як інформація про утиліту управління версіями не пов’язана з програмуванням?
mipadi

5
@mipadi: Так само, як інформація про використання клавіатури не пов'язана з програмуванням.
Draemon

Це справді чорні очі для Mecurial, що минуло більше двох років, і ця проблема все ще існує.
Celeritas

Де проклятий файл у Cygwin ??! ... Ой. Якщо РЕПО клоновано чи ініт'єд, є в (repo) /. Hg
luser droog

Відповіді:


94

Рішення:

У моїй установці Windows, Mercurial.iniне розповсюджувався. Також до нього потрібно додати електронну пошту користувача.

Візьміть Mercurial.iniфайл за замовчуванням, знайдений у каталозі встановлених файлів Mercurial ( C:\Program Files\Mercurial\Mercurial.iniна моїй машині) та скопіюйте його у свій домашній dir dir ( C:\Documents and Settings\myNameна winXP).

Для встановлення Windows 7 за замовчуванням .ini, вам потрібно буде створити новий C:\Users\myName.

Потім відредагуйте цей .ini файл. Знайдіть цю область. Ім'я користувача потребує набору електронної пошти. Це буде порожнім - додайте тут своє ім’я електронної пошти.

[ui]
; editor used to enter commit logs, etc.  Most text editors will work.
editor = notepad
username = userEmail@domain.com

Це вирішило для мене проблему.


1
Я розмістив цю запитання, щоб сподіватися допомогти комусь у майбутньому від того, щоб витрачати час на цей самородок.
Кевін Вон

4
Фактично, в моєму каталозі встановлення також немає файлу Mercurial.ini. Додавання файлу, який викликається hgrcу .hgпапці мого сховища, до вищевказаного тексту, дозволило мені вносити зміни.
Філ Ган

2
Немає файлу Mercurial.ini в моєму каталозі встановлення (Win 7 64-розрядний). Я створив Mercurial.ini на C: \ Users \ Abbas і скопіював [ui] фрагмент Kevin [ui], і це спрацювало як шарм. Випробував рішення Філа, і воно теж спрацювало.
Аббас

Дякую за запитання та відповідь. Це знадобило б мені віки, щоб зрозуміти це. Ах, труднощі розвитку Windows ...
Уес

Я використовую черепаху Hg, і ця порада мені також допоможе. Дякую !
Джеймс Фрейтас

51

Вибачте, але чому ви називаєте це проблемою? Mercurial просить вас побачити hg help config, і цей довідковий текст прямо говорить вам, як додати ім’я користувача - я знаю, оскільки я написав цей довідковий текст :-)

Як нам покращити повідомлення про помилку, щоб зробити це більш зрозумілим?

Редагувати: Оскільки я написав це в 2010 році, нам вдалося виправити це, hg help configдодавши довідку для всіх налаштувань конфігурації. Тож гарний маленький приклад того, як встановити ім’я користувача:

[ui]
username = Your Name <your@email.com>

тепер втрачається в шумі (додайте це до ~/.hgrc, створивши файл, якщо потрібно). Я відкрив для цього питання .


1
Дякую за пояснення - так приємно бачити, коли люди звертаються за запитаннями щодо знайденого рішення :-) Однак, довідковий текст hg help configмістить дійсно інструкції для Windows, тобто в ньому перераховані можливі місця вашого Mercurial.iniфайлу. Одне з місць розташування C:\Program Files\Mercurial\Mercurial.ini(вказане як <install-dir>\Mercurial.ini), тому я не впевнений, чому налаштування цього файлу не набули чинності.
Мартін Гейслер

13
Великою проблемою для мене (і що мене спонукало до цього питання) було те, що нічого цього не згадується на сторінці швидкого початку: mercurial.selenic.com/quickstart/# . На цій сторінці випливає, що основна установка з наступними інструкціями буде працювати, і це не відбувається, не прочитавши довідкового тексту. У цей момент ви нервуєте, тому що ви вже припускаєте, що щось пішло не так
Нік Фортеску,

7
@Martin Geisler: У hg help configтексті не сказано, що нам потрібно зробити, щоб вирішити проблему, і не особливо зрозуміло, куди вказуються шляхи в розділі "В Windows". Куди вказує %USERPROFILE%або %HOME%вказує? Я думаю, це не допомагає, що наступна установка mercurial.iniне існує ніде в моїй системі.
Філ Ган

8
Не майте на увазі образи, тому, будь ласка, сприймайте це як спробу бути конструктивною. У 1260 рядках тексту може бути відповідь, яка надруковується стандартно, коли я роблю "hg help config", але я дійсно вважаю, що 1260 рядків тексту є надмірними і що коротка чітка відповідь, навіть якщо вона надсилає мене до документи будуть набагато набагато кращими.
Tony Giaccone

4
@TonyGiaccone: Ще в 2010 році hg help configбуло б надруковано лише скріншот тексту, і я переконався, що основним прикладом у цьому тексті є встановлення імені користувача. З тих пір нам вдалося викрутити це, включивши у цей вихід текст довідки для всіх параметрів конфігурації :-( Я відкрив для цього проблему: mercurial.selenic.com/bts/issue3348
Мартін Гейслер

13

У Windows XP я не бачу ini-файлу. Створивши сховище за допомогою команди hg init, я додав файл із назвою hgrcдо папки.hg

З таким вмістом:

[ui]  
editor = notepad  
username = zamboni@icemachine.com

1
Згадка про hgrcв .hgпапці було корисно
E-багатого

9

незалежно від Windows або Linux, hg шукає файл "/.hg/hgrc" для дійсної конфігурації. Як сказано в "hg help config", вам потрібно лише додати в кінці цього файлу наступні рядки:

[ui]
username = YOUR NAME <EMAIL@HOST.COM>
verbose = true

зберегти та "hg commit -m 'test" "


4

Якщо ви використовуєте TortoiseHg, ви можете легко додати налаштування [UI]

  1. Клацніть правою кнопкою миші в будь-якій папці Explorer, щоб отримати доступ до меню TortoiseHg .

  2. У меню " Черепаха" виберіть " Глобальні налаштування"

  3. У інтерфейсі натисніть « Редагувати файл»

  4. Додайте налаштування [UI] до кінця

[ui]

ім'я користувача = Ваше ім'я

багатослівний = правда

  1. Збережіть і ви закінчили

3

Ось що для мене працювало як шарм у Windows XP:

  1. Перейдіть до папки, C:\Program Files\Mercurial\hgrc.dприпускаючи, що ви встановили Mercurial наC:\Program Files\Mercurial\ .
  2. Ви повинні побачити Mercurial.RC файл там.
  3. Скопіюйте файл у C:\Documents and Settings\ [USERNAME]\
  4. Перейменувати Mercurial.RCнаMercurial.ini .
  5. Відредагуйте розділ [ui] так:

    [ui]

    ; редактор, який використовується для введення журналів фіксування тощо. Більшість текстових редакторів працюватимуть.

    редактор = блокнот

    багатослівний = Правда

    ім'я користувача = userEmail@domain.com


Також працює для Windows Server 2008 та 64-бітної Меркуріальної MSI, крім кроку 3 звичайно, має бути c: \ users [ім'я користувача]
Andrew Cowenhoven

Встановивши "TortoiseHg 2.2 з Mercurial 2.0 - x86 Windows", файл Mercurial.RC можна знайти в розділі C: \ Program Files \ TortoiseHg \ hgrc.d
urig

1

У мене була така ж проблема. Що мені допомогло - це розмістити [ui]і username = firstname lastnameокремі рядки ~/.hgrcфайлу. Розміщення цих двох речей на одному рядку не спрацювало і призвело до помилки.


1

Ця проблема все ще існує. Themercurial.iniФайл ігнорується незалежно від того , де ви поклали його.

Ні mercurial.iniфайли не створюються під час установки. Я створив його в каталозі встановлення Mercurial, але це не мало ефекту. Я скопіював це на, %USERPROFILE%а потім на%HOME% , але жоден не працює.

Поклавши .hgrc в каталог HOME працює.

Документацію ("hg help config") потрібно виправити.


1

Налаштуйте .hgrc так:

[ui]
username = your name <youremail@host.com>
verbose = True

ПРИМІТКА!! Не залишайте сторону [ui] частини


0

Це проблема, оскільки в довідковому файлі шлях до вказаного конфігураційного файлу не існує, ми маємо скопіювати Mercurial.iniфайл із каталогу програмних файлів у каталог USER, можливо, це проблема, що надходить від інсталятора на Windows.

@Kevin Won: ви забули додати рядок:

verbose = True
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.