¿Cómo se configura el nombre de usuario que utiliza Mercurial para las confirmaciones?


79

Cuando cometo algo en Mercurial como esto:

hg commit -m "username question"

Veo esta salida:

No username found, using 'WindowsVistaAdmin@ChunkyMonkey' instead

ChunkyMonkeyes el nombre de mi máquina de Windows y, obviamente, WindowsVistaAdmines el usuario con el que he iniciado sesión en esta máquina.

¿Cómo puedo configurar el nombre de usuario en algo más respetable o, al menos, más conciso?

Respuestas:


118

En su archivo ~/.hgrc(* nix) o mercurial.ini(Windows):

[ui]
username = First Last <email@address.com>

( mercurial.iniestá disponible C:\Documents and Settings\[username]\para XP y versiones inferiores, C:\Users\[username]\para Vista y superiores. También puede ejecutarlo hgtk userconfigsi tiene TortoiseHg instalado y hacerlo de esa manera).


3
En OSX 10.8, tuve que hacer el archivo .hgrc yo mismo.
Graham P Heath

Para las versiones 2.0 y posteriores, el comando TortoiseHg ha cambiado a thg.
geronimo

30

puede especificar su nombre de usuario en la línea de comando directamente si desea usar --config. p.ej

hg --config ui.username=frymaster -m "comment here" commit

de hecho, puede anular cualquier cosa en su .hgrc con este comando. solo mire su .hgrc y observe el formato:

[section]
key=val

que se traduce directamente en

hg --config section.key=val

¡Perfecto para insertar los cambios de otro desarrollador en el repositorio!
sabio

¿Por qué posible razón esto no está en la documentación / ayuda de Mercurial? Pensé que podía hacerlo, pero casi resuelto a mercurial pensamiento era sólo retrasados y no permitió que cuando no lo encontré a través de hg config -h, hg config -h --verbose, hg help config, ni en línea en selenic.com/mercurial/hg.1.html#config
naki

1
Oh no importa. Dijiste en --configlugar de config: es una opción para otros comandos, se usa para anular el nivel de comando ... todavía no es lo que quiero. GRRR .... ¿Por qué no puedo simplemente escribir hg config -l ui.username=username for this repo? Esto permitiría la fácil implementación de alias el establecimiento de la identidad: [alias] identity1=config -l ui.username=my prewritten user info all ready to be designated for use on of many newly cloned repos with various identities associated.
naki

16

Información de aquí :

Configurar un nombre de usuario

Cuando intenta ejecutar hg commit por primera vez, no se garantiza que tenga éxito. Mercurial registra su nombre y dirección con cada cambio que realiza, de modo que usted y los demás puedan saber más adelante quién hizo cada cambio. Mercurial intenta encontrar automáticamente un nombre de usuario sensato para realizar el cambio. Intentará cada uno de los siguientes métodos, en orden:

  1. Si especifica una opción -u al comando hg commit en la línea de comando, seguida de un nombre de usuario, siempre se le dará la mayor prioridad.
  2. Si ha establecido la variable de entorno HGUSER, se verifica a continuación.
  3. Si crea un archivo en su directorio personal llamado .hgrc, con una entrada de nombre de usuario, se utilizará a continuación. Para ver cómo debería verse el contenido de este archivo, consulte la sección denominada “Creación de un archivo de configuración Mercurial” a continuación.
  4. Si ha establecido la variable de entorno EMAIL, esta se utilizará a continuación.
  5. Mercurial consultará su sistema para averiguar su nombre de usuario local y nombre de host, y construirá un nombre de usuario a partir de estos componentes. Dado que esto a menudo da como resultado un nombre de usuario que no es muy útil, imprimirá una advertencia si tiene que hacer esto.

Si todos estos mecanismos fallan, Mercurial fallará e imprimirá un mensaje de error. En este caso, no le permitirá comprometerse hasta que configure un nombre de usuario.

Debería pensar en la variable de entorno HGUSER y la opción -u del comando hg commit como formas de anular la selección predeterminada de nombre de usuario de Mercurial. Para un uso normal, la forma más sencilla y sólida de establecer un nombre de usuario es creando un archivo .hgrc; consulte a continuación para obtener más detalles.


7
¿Existe la posibilidad de establecer un nombre de usuario por repositorio?
edomaur

4
@edomaur, sí lo es, debe editar el ./hg/hgrcarchivo en el repositorio en cuestión, donde debe configurarlo username = Dev serveren la [ui]sección
Dmitry Koroliov

10
Stackoverflow se creó porque Google no proporciona información en un formato conciso y digerible.
Sebastian Patten

3

Así es como se ve mi Windows /users/xxx/mercurial.ini. No tengo que ingresar nombre de usuario o contraseñas para nada. Parece que podría ser específico del repositorio. Tengo tortoiseHG instalado, no estoy seguro de si eso hace alguna diferencia.

[ui]
username=mbroekhuis

[auth]
repo.prefix=http://myrepo
repo.username=mbroekhuis
repo.password=secret

1
No creo que tener tu contraseña en texto plano sea una buena idea.
Mo2

Yo tendería a estar de acuerdo. puede omitir esa parte.
Matt Broekhuis

2

Para cualquiera que intente utilizar el banco de trabajo HG

ajustes

ingrese la descripción de la imagen aquí

configuración global del usuario

ingrese la descripción de la imagen aquí

Editar archivo

ingrese la descripción de la imagen aquí

Salvar

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.