Erreur Mercurial: abandonner aucun nom d'utilisateur fourni


117

Problème sur WindowsXP (se produira probablement sur toutes les installations Win), première utilisation de Mercurial. J'ai trouvé la réponse dans un endroit peu évident, donc je pose / répond moi-même à la question pour que les autres n'aient pas à chercher comme moi.

Première utilisation de Mercurial sur une machine.

Ajouter un nouveau repoz:

c:\bla\>hg add

aucun problème.

Ensuite, engagez:

c:\bla\hg commit

Erreur:

abort: aucun nom d'utilisateur fourni (voir "hg help config")


70
En quoi les informations sur un utilitaire de contrôle de version ne sont -elles pas liées à la programmation?
mipadi

5
@mipadi: De la même manière que les informations sur l'utilisation d'un clavier ne sont pas liées à la programmation.
Draemon

C'est vraiment un œil au beurre noir pour Mecurial que cela fait plus de deux ans et que ce problème existe toujours.
Celeritas

Où est le fichu fichier dans Cygwin ??! ... Oh. Si le dépôt est cloné ou initié, il y en a un dans (repo) /. Hg
luser droog

Réponses:


94

Solution:

Sur mon installation Windows, le Mercurial.ini n'a pas été propagé. Il a également besoin d'un e-mail utilisateur ajouté.

Prenez le Mercurial.inifichier par défaut trouvé dans le répertoire d'installation de l'exécutable Mercurial ( C:\Program Files\Mercurial\Mercurial.inisur ma machine) et copiez-le dans votre répertoire personnel ( C:\Documents and Settings\myNamesur winXP).

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 modifiez ce fichier .ini. Trouvez cette zone. Le nom d'utilisateur a besoin d'un ensemble d'e-mails. Il sera vide - ajoutez votre nom de courriel ici.

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

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


1
J'ai posté cette question / réponse pour aider quelqu'un à l'avenir à ne pas perdre de temps avec cette pépite.
Kevin a gagné le

4
En fait, il n'y a pas non plus de fichier Mercurial.ini dans mon répertoire d'installation. L'ajout d'un fichier appelé hgrcdans le .hgdossier de mon référentiel avec le texte ci-dessus m'a permis de valider les modifications.
Phil Gan

2
Aucun fichier Mercurial.ini dans mon répertoire d'installation non plus (Win 7 64 bits). J'ai créé Mercurial.ini sur C: \ Users \ Abbas et copié-collé l'extrait [ui] de Kevin et cela a fonctionné comme un charme. J'ai essayé la solution de Phil et cela a fonctionné aussi.
Abbas

Merci pour la question et la réponse. Il m'aurait fallu des siècles pour comprendre cela. Ah, les difficultés de développement sous Windows ...
Wes

J'utilise Tortoise Hg et cette astuce m'aide également. Merci !
James Freitas

51

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 indique explicitement comment ajouter 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 à tout gâcher en faisant hg help configinclure de l'aide pour tous les paramètres de configuration. Donc, le joli petit exemple de la façon de définir le nom d'utilisateur:

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

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.


1
Merci pour l'explication - c'est tellement agréable de voir quand les gens font le suivi des questions avec la solution qu'ils ont trouvée :-) Cependant, le texte d'aide pour hg help configcontient des instructions pour Windows, c'est-à-dire qu'il répertorie les emplacements possibles de votre Mercurial.inifichier. L'un des emplacements est C:\Program Files\Mercurial\Mercurial.ini(répertorié comme <install-dir>\Mercurial.ini), donc je ne sais pas pourquoi les paramètres de ce fichier n'ont pas pris effet.
Martin Geisler

13
Le gros problème pour moi (et ce qui m'a amené à cette question) était le fait que rien de tout cela n'est mentionné sur la page de démarrage rapide: mercurial.selenic.com/quickstart/# . Cette page implique qu'une installation de base suivie de suivre les instructions fonctionnera, et ce n'est pas le cas, sans lire le texte d'aide. À ce stade, vous êtes nerveux parce que vous supposez déjà que quelque chose ne va pas
Nick Fortescue

7
@Martin Geisler: Le hg help configtexte ne dit pas ce que nous devons faire pour résoudre le problème et il n'est pas particulièrement clair où les chemins pointent dans la section "Sous Windows". Où fait %USERPROFILE%ou %HOME%pointe? Je suppose que cela n'aide pas que l'installation suivante mercurial.inin'existe nulle part sur mon système.
Phil Gan

8
Ne voulez pas être insultant, alors prenez cela comme une tentative d'être constructif. Il peut y avoir une réponse dans les 1260 lignes de texte qui sont imprimées en standard lorsque je fais "hg help config" mais je pense vraiment que 1260 lignes de texte sont excessives et qu'une réponse courte et distincte, même si cela me renvoie à la documentation serait bien meilleure.
Tony Giaccone

4
@TonyGiaccone: En 2010, hg help configje n'imprimais qu'un écran de texte et je m'étais assuré que la définition du nom d'utilisateur était l'exemple principal de ce texte. Depuis lors, nous avons réussi à gâcher cela en incluant le texte d'aide pour toutes les options de configuration dans cette sortie :-( J'ai ouvert un problème pour ceci: mercurial.selenic.com/bts/issue3348
Martin Geisler

13

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 avec le nom hgrcau dossier.hg

Avec le contenu suivant:

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

1
la mention du hgrcdans le .hgdossier était utile
E-rich

9

peu importe Windows ou Linux, hg recherche dans le fichier "/.hg/hgrc" une configuration valide. Comme le dit "hg help config", il suffit d'ajouter à la fin de ce fichier les lignes suivantes:

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

save et "hg commit -m 'test'"


4

Si vous utilisez TortoiseHg, vous pouvez facilement ajouter des paramètres [UI]

  1. Un clic droit dans n'importe quel dossier Explorer pour accéder au menu TortoiseHg .

  2. Dans le menu volant TortoiseHg , choisissez Paramètres globaux

  3. Depuis l'interface, cliquez sur Modifier le fichier

  4. Ajoutez les paramètres [UI] à la fin

[ui]

username = VotreNom

verbeux = vrai

  1. Sauvegardez et vous avez terminé

3

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

  1. Accédez au dossier dans C:\Program Files\Mercurial\hgrc.dlequel vous avez installé Mercurial C:\Program Files\Mercurial\.
  2. Vous devriez voir un Mercurial.RCfichier là-dedans.
  3. Copiez le fichier dans C:\Documents and Settings\ [USERNAME]\
  4. Renommez Mercurial.RCen Mercurial.ini.
  5. Modifiez la section [ui] comme ceci:

    [ui]

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

    éditeur = bloc-notes

    verbose = Vrai

    nom d'utilisateur = utilisateurEmail@domaine.com


Fonctionne également pour Windows Server 2008 et le msi Mercurial 64 bits, sauf bien sûr l'étape 3 doit être c: \ users [nom d'utilisateur]
Andrew Cowenhoven

Après avoir installé "TortoiseHg 2.2 avec Mercurial 2.0 - Windows x86", le fichier Mercurial.RC peut être trouvé sous C: \ Program Files \ TortoiseHg \ hgrc.d
urig

1

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


1

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

Aucun mercurial.inifichier 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é %USERPROFILE%puis vers %HOME%, mais aucun des deux ne fonctionne.

Mettre .hgrcdans le répertoire HOME fonctionne.

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


1

Configurez votre .hgrc comme ceci:

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

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


0

C'est un problème car dans le fichier d'aide, le chemin d'accès au fichier de configuration spécifié n'existe pas, nous devons copier le Mercurial.ini répertoire from program files vers le répertoire USER, peut-être que c'est un problème provenant du programme d'installation sous Windows.

@Kevin Won: vous avez oublié d'ajouter la ligne:

verbose = True
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.