Erreur Mercurial: annuler aucun nom d’utilisateur fourni

Problème sur WindowsXP (cela se produira probablement sur toutes les installations Win), première utilisation de Mercurial. J’ai trouvé la réponse dans un endroit non évident alors je demande / réponds à la question moi-même afin que les autres n’aient pas à chercher comme moi.

Première utilisation de Mercurial sur machine.

Ajouter un nouveau repoz:

c:\bla\>hg add 

aucun problème.

Ensuite, validez:

 c:\bla\hg commit 

Erreur:

avorter: pas de nom d’utilisateur fourni (voir “hg help config”)

Solution:

Sur mon installation Windows, le Mercurial.ini n’a pas été propagé. Un courrier électronique utilisateur doit également être ajouté.

Prenez le fichier Mercurial.ini par défaut trouvé dans le répertoire d’installation de l’exécutable Mercurial ( C:\Program Files\Mercurial\Mercurial.ini sur ma machine) et copiez-le dans votre répertoire utilisateur ( C:\Documents and Settings\myName sur C:\Documents and Settings\myName ).

Sur une installation de Windows 7, il n’y a pas de .ini par défaut, vous devrez en créer un nouveau dans C:\Users\myName .

Puis éditez ce fichier .ini. Trouvez cette zone Le nom d’utilisateur nécessite un ensemble de courrier électronique. Ce sera vide – ajoutez votre nom de messagerie ici.

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

Cela a résolu le problème pour moi.

Je suis désolé, mais pourquoi appelez-vous cela un problème? Mercurial vous demande de voir hg help config , et ce texte d’aide vous explique explicitement comment append un nom d’utilisateur – je sais depuis que j’ai écrit ce texte d’aide 🙂

Comment devrions-nous améliorer le message d’erreur pour le rendre plus clair?

Edit: Depuis que j’ai écrit ceci en 2010, nous avons réussi à faire tout ça en faisant en sorte que hg help config inclue l’aide pour tous les parameters de configuration. Donc, le joli petit exemple de comment définir le nom d’utilisateur:

 [ui] username = Your Name  

est maintenant perdu dans le bruit (ajoutez ceci à ~/.hgrc , en créant le fichier si nécessaire). J’ai ouvert un problème pour cela.

Sous Windows XP, je ne vois pas de fichier ini. Après avoir créé le référentiel à l’aide de la commande hg init , j’ai ajouté un fichier nommé hgrc au dossier .hg

Avec le contenu suivant:

 [ui] editor = notepad username = [email protected] 

peu importe Windows ou Linux, hg regarde le fichier “/.hg/hgrc” pour une configuration valide. Comme dans “hg help config”, il suffit d’append à la fin de ce fichier les lignes suivantes:

 [ui] username = YOUR NAME  verbose = true 

enregistrer et “hg commit -m ‘test'”

Si vous utilisez TortoiseHg, vous pouvez facilement append les parameters [UI]

  1. Clic droit dans n’importe quel dossier Explorer pour accéder au menu TortoiseHg .

  2. Dans le menu déroulant TortoiseHg, sélectionnez Paramètres globaux.

  3. Dans l’interface, cliquez sur le fichier d’édition

  4. Ajouter les parameters [UI] à la fin

[ui]

nom d’utilisateur = votre nom

verbose = true

  1. Enregistrer et vous avez terminé

Voici ce qui a fonctionné comme un charme pour Windows XP:

  1. Allez dans le dossier C:\Program Files\Mercurial\hgrc.d supposant que vous avez installé Mercurial sur C:\Program Files\Mercurial\ .
  2. Vous devriez voir un fichier Mercurial.RC .
  3. Copiez le fichier dans C:\Documents and Settings\ [USERNAME]\
  4. Renommez Mercurial.RC en Mercurial.ini .
  5. Modifiez la section [ui] comme suit:

    [ui]

    ; éditeur utilisé pour entrer des journaux de validation, etc. La plupart des éditeurs de texte fonctionnent.

    éditeur = bloc-notes

    verbose = True

    nom d’utilisateur = [email protected]

J’ai eu le même problème. Ce qui m’a aidé était de mettre [ui] et username = firstname lastname sur des lignes séparées du fichier ~/.hgrc . Mettre ces deux choses sur une seule ligne n’a pas fonctionné et a conduit à l’erreur.

Ce problème existe toujours. Le fichier mercurial.ini est ignoré peu importe où vous le placez.

Aucun fichier mercurial.ini n’est créé lors de l’installation. J’en ai créé un dans le répertoire d’installation de Mercurial, mais cela n’a eu aucun effet. Je l’ai copié dans %USERPROFILE% puis dans %HOME% , mais aucun ne fonctionne.

Mettre .hgrc dans le répertoire HOME fonctionne.

La documentation (“hg help config”) doit être corrigée.

Configurez-vous comme ceci:

 [ui] username = your name  verbose = True 

REMARQUE!! Ne laissez pas de côté la partie [ui]

C’est un problème car dans le fichier d’aide, le chemin d’access au fichier de configuration spécifié n’existe pas, nous devons copier le fichier Mercurial.ini du répertoire des fichiers du programme dans le répertoire USER.

@Kevin Won: vous avez oublié d’append la ligne:

 verbose = True