Comment définir le nom d'utilisateur que Mercurial utilise pour les commits?
-
05-07-2019 - |
Question
Lorsque je commets quelque chose dans Mercurial comme ceci:
hg commit -m "username question"
Je vois cette sortie:
No username found, using 'WindowsVistaAdmin@ChunkyMonkey' instead
ChunkyMonkey
est le nom de mon ordinateur Windows et, de toute évidence, WindowsVistaAdmin
est l'utilisateur sur lequel je suis connecté en tant que sur cet ordinateur.
Comment définir un nom d'utilisateur plus respectable ou au moins plus concis?
La solution
Dans votre fichier ~ / .hgrc
(* nix) ou mercurial.ini
(Windows):
[ui]
username = First Last <email@address.com>
( mercurial.ini
est dans C: \ Documents and Settings \ [nom d'utilisateur] \
pour XP et versions antérieures, C: \ Utilisateurs \ [nom d'utilisateur] \
pour Vista et versions ultérieures. Vous pouvez également exécuter hgtk userconfig
si TortoiseHg est installé et le faire de cette façon.)
Autres conseils
vous pouvez spécifier votre nom d'utilisateur directement sur la ligne de commande si vous souhaitez utiliser --config. par exemple
hg --config ui.username=frymaster -m "comment here" commit
En fait, vous pouvez remplacer tout ce qui se trouve dans votre .hgrc avec cette commande. Il suffit de regarder votre fichier .hgrc et de noter le format:
[section]
key=val
qui se traduit directement par
hg --config section.key=val
Informations provenant de ici . :
Configuration d'un nom d'utilisateur
Lorsque vous essayez d'exécuter hg commit pour le première fois, il n’est pas garanti réussir. Mercurial enregistre votre nom et adresse à chaque changement que vous commettre, de sorte que vous et les autres allez plus tard, être capable de dire qui a fait chaque changement. Mercurial tente de comprendre automatiquement un sensible Nom d'utilisateur pour valider le changement. Il tentera chacun des suivants méthodes, dans l'ordre:
- Si vous spécifiez une option -u dans la commande hg commit de la commande ligne, suivi d'un nom d'utilisateur, c'est toujours la plus haute priorité.
- Si vous avez défini la variable d'environnement HGUSER, cette option est cochée. suivant.
- Si vous créez un fichier dans votre répertoire personnel appelé .hgrc, avec un nom d'utilisateur, qui sera utilisé suivant. Pour voir ce que le contenu de cette le fichier doit ressembler, reportez-vous à la section intitulée "Création d'un Mercurial" fichier de configuration & # 8221; ci-dessous.
- Si vous avez défini la variable d'environnement EMAIL, ce sera utilisé ensuite.
- Mercurial interrogera votre système pour connaître votre nom d'utilisateur local et nom d'hôte et construit un nom d'utilisateur à partir de ces composants. Depuis cela se traduit souvent par un nom d'utilisateur qui est pas très utile, il va imprimer un avertissement s’il doit le faire.
Si tous ces mécanismes échouent, Mercurial va échouer, en imprimant une erreur message. Dans ce cas, il ne laissera pas vous vous engagez jusqu'à ce que vous établissiez un nom d'utilisateur.
Vous devriez penser au HGUSER variable d'environnement et l'option -u à la commande hg commit comme moyen de remplacer la sélection par défaut de Mercurial de nom d'utilisateur. Pour une utilisation normale, le moyen le plus simple et le plus robuste pour définir un nom d'utilisateur pour vous est en créant un fichier .hgrc; voir ci-dessous pour plus de détails.
Voici à quoi ressemble mon windows /users/xxx/mercurial.ini. Je n'ai pas à entrer de nom d'utilisateur ou de mot de passe pour quoi que ce soit. On dirait que cela pourrait être spécifique au repo. J'ai installé tortoiseHG, je ne sais pas si cela fait une différence.
[ui]
username=mbroekhuis
[auth]
repo.prefix=http://myrepo
repo.username=mbroekhuis
repo.password=secret