Mercurial Fehler: Abbrechen kein Benutzername angegeben

117

Problem unter Windows XP (wahrscheinlich bei allen Win-Installationen), erstmalige Verwendung von Mercurial. Ich habe die Antwort an einem nicht offensichtlichen Ort gefunden, also stelle / beantworte ich die Frage selbst, damit andere nicht so suchen müssen wie ich.

Zum ersten Mal mit Mercurial auf der Maschine.

Neues Repoz hinzufügen:

c:\bla\>hg add

kein Problem.

Als nächstes verpflichten Sie sich:

c:\bla\hg commit

Error:

Abbruch: kein Benutzername angegeben (siehe "hg help config")

Kevin Won
quelle
70
Wie beziehen sich Informationen zu einem Versionskontrolldienstprogramm nicht auf die Programmierung?
Mipadi
5
@mipadi: Ebenso wie Informationen über die Verwendung einer Tastatur nicht mit der Programmierung zusammenhängen.
Draemon
Es ist wirklich ein blaues Auge für Mecurial, dass es mehr als zwei Jahre her ist und dieses Problem immer noch besteht.
Celeritas
Wo ist die verdammte Akte in Cygwin ??! ... Oh. Wenn das Repo geklont oder initiiert ist, gibt es eines in (repo) /.
Hg

Antworten:

94

Lösung:

Bei meiner Windows-Installation wird die Mercurial.ini nicht weitergegeben. Außerdem muss eine Benutzer-E-Mail hinzugefügt werden.

Nehmen Sie die Standarddatei Mercurial.ini, die sich im ausführbaren Installationsverzeichnis von Mercurial ( C:\Program Files\Mercurial\Mercurial.iniauf meinem Computer) befindet, und kopieren Sie sie in das C:\Documents and Settings\myNameAusgangsverzeichnis Ihres Benutzers ( unter winXP).

Bei einer Windows 7-Installation gibt es keine Standard-INI. Sie müssen eine neue in erstellen C:\Users\myName.

Bearbeiten Sie dann diese INI-Datei. Finden Sie diesen Bereich. Der Benutzername benötigt einen E-Mail-Satz. Es wird leer sein - fügen Sie hier Ihren E-Mail-Namen hinzu.

[ui]
; editor used to enter commit logs, etc.  Most text editors will work.
editor = notepad
username = [email protected]

Dies hat das Problem für mich behoben.

Kevin Won
quelle
1
Ich habe diese Frage / Antwort gepostet, um hoffentlich jemandem in Zukunft zu helfen, keine Zeit mit diesem Nugget zu verschwenden.
Kevin gewann
4
Eigentlich gibt es auch keine Mercurial.ini-Datei in meinem Installationsverzeichnis. Durch Hinzufügen einer Datei, die hgrcim .hgOrdner meines Repositorys mit dem obigen Text aufgerufen wurde, konnte ich Änderungen festschreiben.
Phil Gan
2
Keine Mercurial.ini-Datei in meinem Installationsverzeichnis (Win 7 64-Bit). Ich habe Mercurial.ini unter C: \ Users \ Abbas erstellt und Kevins [ui] -Schnipsel kopiert, und es hat wie ein Zauber funktioniert. Versuchte Phils Lösung und es funktionierte auch.
Abbas
Danke für die Frage und Antwort. Ich hätte ewig gebraucht, um das herauszufinden. Ah, die Schwierigkeiten bei der Entwicklung unter Windows ...
Wes
Ich benutze Tortoise Hg und dieser Tipp hilft mir auch. Vielen Dank !
James Freitas
51

Es tut mir leid, aber warum nennst du das ein Problem? Mercurial bittet Sie zu sehen hg help config, und dieser Hilfetext erklärt Ihnen ausdrücklich, wie Sie einen Benutzernamen hinzufügen - ich weiß, seit ich diesen Hilfetext geschrieben habe :-)

Wie sollten wir die Fehlermeldung verbessern, um dies klarer zu machen?

Bearbeiten: Seit ich dies im Jahr 2010 geschrieben habe, haben wir es geschafft, dies zu vermasseln, indem wir hg help configHilfe für alle Konfigurationseinstellungen hinzugefügt haben. Also das nette kleine Beispiel, wie man den Benutzernamen setzt:

[ui]
username = Your Name <[email protected]>

ist jetzt im Rauschen verloren (fügen Sie dies hinzu ~/.hgrcund erstellen Sie die Datei, falls erforderlich). Ich habe eine Ausgabe dafür geöffnet .

Martin Geisler
quelle
1
Vielen Dank für die Erklärung - es ist so schön zu sehen, wenn Leute Fragen mit der gefundenen Lösung beantworten :-) Der Hilfetext für hg help configenthält jedoch Anweisungen für Windows, dh er listet die möglichen Speicherorte Ihrer Mercurial.iniDatei auf. Einer der Speicherorte ist C:\Program Files\Mercurial\Mercurial.ini(aufgeführt als <install-dir>\Mercurial.ini), daher bin ich mir nicht sicher, warum die Einstellungen in dieser Datei nicht wirksam wurden.
Martin Geisler
13
Das große Problem für mich (und was mich zu dieser Frage gebracht hat) war die Tatsache, dass nichts davon auf der Schnellstartseite erwähnt wird: mercurial.selenic.com/quickstart/# . Diese Seite impliziert, dass eine Basisinstallation, gefolgt von der Befolgung der Anweisungen, funktioniert und nicht, ohne den Hilfetext zu lesen. An diesem Punkt sind Sie nervös, weil Sie bereits annehmen, dass etwas schief gelaufen ist
Nick Fortescue
7
@ Martin Geisler: Der hg help configText sagt nicht, was wir tun müssen, um das Problem zu lösen, und es ist nicht besonders klar, wohin die Pfade im Abschnitt "Unter Windows" zeigen. Woher %USERPROFILE%oder %HOME%zeigen? Ich denke, es hilft nicht, dass die folgende Installation mercurial.ininirgendwo auf meinem System existiert.
Phil Gan
8
Ich will nicht beleidigen, also nimm das bitte als einen Versuch, konstruktiv zu sein. Es mag eine Antwort in den 1260 Textzeilen geben, die standardmäßig ausgedruckt wird, wenn ich "hg help config" mache, aber ich denke wirklich, dass 1260 Textzeilen übermäßig sind und dass eine kurze eindeutige Antwort, selbst wenn sie mich an sendet Die Dokumente wären viel, viel besser.
Tony Giaccone
4
@TonyGiaccone: Im Jahr 2010 wurde hg help confignur ein Bildschirm mit Text gedruckt, und ich hatte sichergestellt, dass das Festlegen des Benutzernamens das Hauptbeispiel in diesem Text war. Seitdem haben wir es geschafft, das zu vermasseln, indem wir den Hilfetext für alle Konfigurationsoptionen in diese Ausgabe aufgenommen haben :-( Ich habe ein Problem dafür geöffnet: mercurial.selenic.com/bts/issue3348
Martin Geisler
13

Unter Windows XP wird keine INI-Datei angezeigt. Nachdem hg initich das Repository mit dem Befehl erstellt hatte , fügte ich hgrcdem Ordner eine Datei mit dem Namen hinzu.hg

Mit folgendem Inhalt:

[ui]  
editor = notepad  
username = [email protected]
Zamboni
quelle
1
Erwähnung der hgrcim .hgOrdner war hilfreich
E-Rich
9

Unabhängig von Windows oder Linux sucht hg in der Datei "/.hg/hgrc" nach einer gültigen Konfiguration. Wie in "hg help config" angegeben, müssen Sie nur am Ende dieser Datei die folgenden Zeilen hinzufügen:

[ui]
username = YOUR NAME <[email protected]>
verbose = true

speichern und "hg commit -m 'test'"

Usuario
quelle
4

Wenn Sie TortoiseHg verwenden, können Sie einfach [UI] -Einstellungen hinzufügen

  1. Klicken Sie mit der rechten Maustaste in einen beliebigen Ordner-Explorer, um auf das TortoiseHg- Menü zuzugreifen .

  2. Wählen Sie im Flyout- Menü TortoiseHg die Option Globale Einstellungen

  3. Klicken Sie in der Benutzeroberfläche auf Datei bearbeiten

  4. Fügen Sie die [UI] -Einstellungen am Ende hinzu

[ui]

Benutzername = Ihr Name

ausführlich = wahr

  1. Speichern und fertig
Paul Neumeyer
quelle
3

Folgendes hat für mich unter Windows XP wie ein Zauber gewirkt:

  1. Wechseln Sie in den Ordner C:\Program Files\Mercurial\hgrc.d, in dem Sie Mercurial installiert haben C:\Program Files\Mercurial\.
  2. Sie sollten dort eine Mercurial.RCDatei sehen.
  3. Kopieren Sie die Datei nach C:\Documents and Settings\ [USERNAME]\
  4. Umbenennen Mercurial.RCin Mercurial.ini.
  5. Bearbeiten Sie den Abschnitt [ui] wie folgt:

    [ui]

    ;; Editor zum Eingeben von Festschreibungsprotokollen usw. Die meisten Texteditoren funktionieren.

    editor = notepad

    ausführlich = wahr

    Benutzername = [email protected]

Ralph Wiggum
quelle
Funktioniert auch für Windows Server 2008 und die 64-Bit-Mercurial-MSI, außer natürlich, dass Schritt 3 c: \ users [Benutzername] sein sollte
Andrew Cowenhoven
Nach der Installation von "TortoiseHg 2.2 mit Mercurial 2.0 - x86 Windows" befindet sich die Mercurial.RC-Datei unter C: \ Programme \ TortoiseHg \ hgrc.d
urig
1

Ich hatte das gleiche Problem. Was half ich war zu setzen [ui]und username = firstname lastnameauf separaten Zeilen der ~/.hgrcDatei. Das Einfügen dieser beiden Dinge in eine Zeile funktionierte nicht und führte zu dem Fehler.

Mathias Wellner
quelle
1

Dieses Problem besteht weiterhin. Dasmercurial.ini Datei wird ignoriert, egal wo Sie sie ablegen.

mercurial.iniWährend der Installation wird keine Datei erstellt. Ich habe eine im Mercurial-Installationsverzeichnis erstellt, aber sie hatte keine Auswirkung. Ich habe es nach %USERPROFILE%und dann nach kopiert%HOME% , aber keiner funktioniert.

Putten .hgrc in das HOME-Verzeichnis funktioniert.

Die Dokumentation ("hg help config") muss korrigiert werden.

Dean Schulze
quelle
1

Konfigurieren Sie Sie .hgrc wie folgt:

[ui]
username = your name <[email protected]>
verbose = True

HINWEIS!! Lassen Sie den [ui] Teil nicht aus

Wedava
quelle
0

Dies ist ein Problem, da in der Hilfedatei der Pfad zur angegebenen Konfigurationsdatei nicht vorhanden ist. Wir müssen den Pfad kopieren Mercurial.ini Verzeichnis aus den Programmdateien in das Verzeichnis USER Möglicherweise handelt es sich um ein Problem, das vom Installationsprogramm unter Windows ausgeht.

@ Kevin Won: Sie haben vergessen, die Zeile hinzuzufügen:

verbose = True
Pierre Ducher
quelle