Błąd Mercurial: przerwij, nie podano nazwy użytkownika


117

Problem na WindowsXP (prawdopodobnie wystąpi przy wszystkich instalacjach Win) przy pierwszym użyciu Mercurial. Znalazłem odpowiedź w nieoczywistym miejscu, więc sam zadaję / odpowiadam na to pytanie, aby inni nie musieli szukać tak jak ja.

Pierwsze użycie Mercurial na komputerze.

Dodaj nowy repoz:

c:\bla\>hg add

nie ma problemu.

Następnie wykonaj:

c:\bla\hg commit

błąd:

abort: nie podano nazwy użytkownika (zobacz "hg help config")


70
Dlaczego informacje o narzędziu do kontroli wersji nie są związane z programowaniem?
mipadi

5
@mipadi: W ten sam sposób informacje o używaniu klawiatury nie są związane z programowaniem.
Draemon

To naprawdę podbite oko dla Mecurial, że minęły już ponad dwa lata, a ten problem nadal istnieje.
Celeritas

Gdzie jest ten cholerny plik w Cygwin ??! ... Och. Jeśli repozytorium zostało sklonowane lub zainicjowane, jest jedno w (repo) /. Hg
luser droog Kwietnia

Odpowiedzi:


94

Rozwiązanie:

W mojej instalacji systemu Windows plik Mercurial.ininie został rozpowszechniony. Potrzebuje również dodanego do niego adresu e-mail użytkownika.

Weź domyślny Mercurial.iniplik znaleziony w katalogu instalacyjnym pliku wykonywalnego Mercurial ( C:\Program Files\Mercurial\Mercurial.inina moim komputerze) i skopiuj go do katalogu domowego użytkownika ( C:\Documents and Settings\myNamena winXP).

W instalacji systemu Windows 7 nie ma domyślnego pliku .ini, musisz utworzyć nowy w C:\Users\myName.

Następnie edytuj ten plik .ini. Znajdź ten obszar. Nazwa użytkownika wymaga ustawienia adresu e-mail. Będzie puste - dodaj tutaj swoją nazwę e-mail.

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

To rozwiązało problem.


1
Opublikowałem to pytanie i mam nadzieję, że pomogę komuś w przyszłości tracić czas na ten samorodek.
Kevin Wygrał

4
Właściwie nie ma również pliku Mercurial.ini w moim katalogu instalacyjnym. Dodanie pliku o nazwie hgrcw .hgfolderze mojego repozytorium z powyższym tekstem umożliwiło mi zatwierdzenie zmian.
Phil Gan

2
Brak pliku Mercurial.ini w moim katalogu instalacyjnym (Win 7 64-bit). Stworzyłem Mercurial.ini na C: \ Users \ Abbas i skopiowałem i wkleiłem fragment kodu [ui] Kevina i działał jak marzenie. Wypróbowałem rozwiązanie Phila i też zadziałało.
Abbas,

Dzięki za pytanie i odpowiedź. Wieki zajęłoby mi to rozgryzienie. Ach, trudności związane z programowaniem w systemie Windows ...
Wes,

Używam żółwia Hg i ta wskazówka też mi pomaga. Dzięki !
James Freitas

51

Przepraszam, ale dlaczego nazywasz to problemem? Mercurial prosi o pokazanie hg help config, a ten tekst pomocy wyraźnie mówi, jak dodać nazwę użytkownika - wiem, odkąd napisałem ten tekst pomocy :-)

Jak powinniśmy poprawić komunikat o błędzie, aby był bardziej zrozumiały?

Edycja: Odkąd napisałem to w 2010 roku, udało nam się to schrzanić, wprowadzając hg help configpomoc do wszystkich ustawień konfiguracji. A więc ładny mały przykład, jak ustawić nazwę użytkownika:

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

jest teraz zagubiony w szumie (dodaj to ~/.hgrc, tworząc plik, jeśli to konieczne). Otworzyłem problem z tym.


1
Dziękuję za wyjaśnienie - miło jest widzieć, gdy ludzie odpowiadają na pytania dotyczące znalezionego rozwiązania :-) Jednak tekst pomocy hg help configzawiera instrukcje dla systemu Windows, tj. Zawiera listę możliwych lokalizacji twojego Mercurial.inipliku. Jedna z lokalizacji jest C:\Program Files\Mercurial\Mercurial.ini(wymieniona jako <install-dir>\Mercurial.ini), więc nie jestem pewien, dlaczego ustawienia w tym pliku nie zostały uwzględnione.
Martin Geisler

13
Dużym problemem dla mnie (i tym, co doprowadziło mnie do tego pytania) był fakt, że nic z tego nie zostało wspomniane na stronie szybkiego startu: mercurial.selenic.com/quickstart/# . Ta strona oznacza, że ​​instalacja podstawowa, po której następuje wykonanie instrukcji, będzie działać, i nie działa bez przeczytania tekstu pomocy. W tym momencie jesteś zdenerwowany, ponieważ już zakładasz, że coś poszło nie tak
Nick Fortescue

7
@Martin Geisler: hg help configTekst nie mówi, co musimy zrobić, aby rozwiązać problem, i nie jest szczególnie jasne, gdzie wskazują ścieżki w sekcji „W systemie Windows”. Gdzie robi %USERPROFILE%lub %HOME%wskazuje? Myślę, że nie pomaga to, że następująca instalacja mercurial.ininie istnieje nigdzie w moim systemie.
Phil Gan

8
Nie chcę być obraźliwy, więc potraktuj to jako próbę konstruktywności. Może być odpowiedź w 1260 liniach tekstu, które są drukowane do standardu, kiedy robię "hg help config", ale naprawdę uważam, że 1260 linii tekstu jest zbytecznych i że krótka, wyraźna odpowiedź, nawet jeśli wysyła mnie do dokumentacja byłaby znacznie lepsza.
Tony Giaccone

4
@TonyGiaccone: W 2010 roku hg help configwydrukowałem tylko ekran pełen tekstu, a ja upewniłem się, że ustawienie nazwy użytkownika jest głównym przykładem w tym tekście. Od tego czasu udało nam się to schrzanić, dołączając tekst pomocy dla wszystkich opcji konfiguracyjnych w tym wyjściu :-( Otworzyłem ten problem: mercurial.selenic.com/bts/issue3348
Martin Geisler

13

W systemie Windows XP nie widzę pliku ini. Po utworzeniu repozytorium za pomocą polecenia hg initdodałem plik z nazwą hgrcdo folderu.hg

Z następującą treścią:

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

1
wzmianka o hgrcw .hgfolderze był pomocny
E-bogaty

9

bez względu na Windows czy Linuksa, hg szuka poprawnej konfiguracji w pliku "/.hg/hgrc". Jak mówi "hg help config", wystarczy dodać na końcu tego pliku następujące linie:

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

zapisz i "hg commit -m 'test'"


4

Jeśli używasz TortoiseHg, możesz łatwo dodać ustawienia [UI]

  1. Kliknięcie prawym przyciskiem w dowolnym Eksploratorze folderów, aby uzyskać dostęp do menu TortoiseHg .

  2. Z wysuwanego menu TortoiseHg wybierz Ustawienia globalne

  3. W interfejsie kliknij Edytuj plik

  4. Dodaj ustawienia [UI] na końcu

[ui]

nazwa użytkownika = YourName

verbose = true

  1. Zapisz i gotowe

3

Oto, co zadziałało dla mnie jak urok w systemie Windows XP:

  1. Przejdź do folderu, C:\Program Files\Mercurial\hgrc.dzakładając, że zainstalowałeś Mercurial C:\Program Files\Mercurial\.
  2. Powinieneś tam zobaczyć Mercurial.RCplik.
  3. Skopiuj plik do C:\Documents and Settings\ [USERNAME]\
  4. Zmień nazwę Mercurial.RCna Mercurial.ini.
  5. Edytuj sekcję [ui] w następujący sposób:

    [ui]

    ; edytor używany do wprowadzania dzienników zatwierdzeń itp. Większość edytorów tekstu będzie działać.

    editor = notatnik

    verbose = True

    nazwa_użytkownika = adres_użytkownika@domena.com


Działa również w systemie Windows Server 2008 i 64-bitowym msi Mercurial, z wyjątkiem oczywiście kroku 3 c: \ users [nazwa użytkownika]
Andrew Cowenhoven

Po zainstalowaniu „TortoiseHg 2.2 z Mercurial 2.0 - x86 Windows”, plik Mercurial.RC można znaleźć w C: \ Program Files \ TortoiseHg \ hgrc.d
urig

1

Miałem ten sam problem. Pomogło mi umieszczenie [ui]i username = firstname lastnamena oddzielnych wierszach ~/.hgrcpliku. Umieszczenie tych dwóch rzeczy w jednym wierszu nie pomogło i doprowadziło do błędu.


1

Ten problem nadal istnieje. mercurial.iniPlik jest ignorowana bez względu na to, gdzie go umieścić.

mercurial.iniPodczas instalacji nie jest tworzony żaden plik. Utworzyłem go w katalogu instalacyjnym Mercurial, ale nie przyniosło to żadnego skutku. Skopiowałem to do, %USERPROFILE%a potem do %HOME%, ale żaden z nich nie działa.

Umieszczenie .hgrcw katalogu HOME działa.

Dokumentacja („hg help config”) musi zostać poprawiona.


1

Skonfiguruj .hgrc w ten sposób:

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

UWAGA!! Nie pomijaj części [ui]


0

Jest to problem, ponieważ w pliku pomocy nie ma ścieżki do podanego pliku konfiguracyjnego, musimy skopiować Mercurial.iniplik z katalogu plików programu do katalogu USER, być może jest to problem pochodzący z instalatora w systemie Windows.

@Kevin Won: zapomniałeś dodać linię:

verbose = True
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.