Помилка 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.