Error mercurial: abortar sin nombre de usuario proporcionado

117

Problema en Windows XP (probablemente ocurrirá en todas las instalaciones de Win), la primera vez que usa Mercurial. Encontré la respuesta en un lugar no obvio, así que estoy preguntando / respondiendo la pregunta yo mismo para que otros no tengan que buscar como yo lo hice.

Primera vez que utilizo Mercurial en una máquina.

Agregar nuevo repositorio:

c:\bla\>hg add

No hay problema.

A continuación, comete:

c:\bla\hg commit

error:

abortar: no se ha proporcionado un nombre de usuario (consulte "hg help config")

Kevin ganó
fuente
70
¿Cómo la información sobre una utilidad de control de versiones no está relacionada con la programación?
mipadi
5
@mipadi: de la misma manera que la información sobre el uso de un teclado no está relacionada con la programación.
Draemon
Realmente es un ojo morado para Mecurial que han pasado más de dos años y este problema todavía existe.
Celeritas
¿Dónde está el maldito archivo en Cygwin? ... Oh. Si el repositorio se clona o inicia, hay uno en (repo) /.
Hg

Respuestas:

94

Solución:

En mi instalación de Windows, Mercurial.inino se propagó. También necesita que se le agregue un correo electrónico de usuario.

Tome el Mercurial.iniarchivo predeterminado que se encuentra en el directorio de instalación ejecutable de Mercurial ( C:\Program Files\Mercurial\Mercurial.inien mi máquina) y cópielo en el directorio de inicio de su usuario ( C:\Documents and Settings\myNameen winXP).

En una instalación de Windows 7 no hay un .ini predeterminado, deberá crear uno nuevo en formato C:\Users\myName.

Luego edite ese archivo .ini. Encuentra esta área. El nombre de usuario necesita un conjunto de correo electrónico. Estará en blanco - agregue su nombre de correo electrónico aquí.

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

Esto me solucionó el problema.

Kevin ganó
fuente
1
Publiqué esta pregunta para, con suerte, ayudar a alguien en el futuro a no perder el tiempo con esta pepita.
Kevin Won
4
En realidad, tampoco hay ningún archivo Mercurial.ini en mi directorio de instalación. Agregar un archivo llamado hgrcen la .hgcarpeta de mi repositorio con el texto anterior me permitió realizar cambios.
Phil Gan
2
Tampoco hay ningún archivo Mercurial.ini en mi directorio de instalación (Win 7 de 64 bits). Creé Mercurial.ini en C: \ Users \ Abbas y copié y pegué el fragmento [ui] de Kevin y funcionó de maravilla. Probé la solución de Phil y funcionó también.
Abbas
Gracias por la pregunta y la respuesta. Me habría llevado años darme cuenta de eso. Ah, las dificultades de desarrollar en Windows ...
Wes
Estoy usando Tortoise Hg y ese consejo también me ayuda. Gracias !
James Freitas
51

Lo siento, pero ¿por qué llamas a esto un problema? Mercurial le pide que lo vea hg help config, y este texto de ayuda le dice explícitamente cómo agregar un nombre de usuario; lo sé desde que escribí ese texto de ayuda :-)

¿Cómo deberíamos mejorar el mensaje de error para que esto sea más claro?

Editar: Desde que escribí esto en 2010, nos las hemos arreglado para estropearlo haciendo hg help configincluir ayuda para todas las configuraciones. Entonces, el pequeño ejemplo de cómo configurar el nombre de usuario:

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

ahora se pierde en el ruido (agregue esto a ~/.hgrc, creando el archivo si es necesario). Abrí un problema para esto.

Martin Geisler
fuente
1
Gracias por la explicación - es muy bueno ver cuando las personas hacen un seguimiento de las preguntas con la solución que encontraron :-) Sin embargo, el texto de ayuda para hg help configsí incluye instrucciones para Windows, es decir, enumera las posibles ubicaciones de su Mercurial.iniarchivo. Una de las ubicaciones es C:\Program Files\Mercurial\Mercurial.ini(enumerada como <install-dir>\Mercurial.ini), por lo que no estoy seguro de por qué la configuración de ese archivo no surtió efecto.
Martin Geisler
13
El gran problema para mí (y lo que me llevó a esta pregunta) fue el hecho de que nada de esto se menciona en la página de inicio rápido: mercurial.selenic.com/quickstart/# . Esa página implica que una instalación básica seguida de seguir las instrucciones funcionará, y no funciona, sin leer el texto de ayuda. En este punto estás nervioso porque ya asumes que algo salió mal
Nick Fortescue
7
@Martin Geisler: El hg help configtexto no dice lo que debemos hacer para resolver el problema y no está particularmente claro hacia dónde apuntan las rutas en la sección "En Windows". ¿Dónde hace %USERPROFILE%o %HOME%apunta? Supongo que no ayuda que la siguiente instalación mercurial.inino exista en ninguna parte de mi sistema.
Phil Gan
8
No quiero ser insultante, así que tómelo como un intento de ser constructivo. Puede haber una respuesta en las 1260 líneas de texto que se imprime en la salida estándar cuando hago "hg help config" pero realmente creo que 1260 líneas de texto son excesivas y que una respuesta corta y distinta, incluso si me envía a los documentos serían mucho mejores.
Tony Giaccone
4
@TonyGiaccone: En 2010 hg help configsolo imprimía una pantalla llena de texto y me había asegurado de que la configuración del nombre de usuario fuera el ejemplo principal en ese texto. Desde entonces, hemos logrado arruinarlo al incluir el texto de ayuda para todas las opciones de configuración en esa salida :-( Abrí un problema para esto: mercurial.selenic.com/bts/issue3348
Martin Geisler
13

En Windows XP no veo un archivo ini. Después de crear el repositorio usando el comando hg init, agregué un archivo con el nombre hgrca la carpeta.hg

Con el siguiente contenido:

[ui]  
editor = notepad  
username = [email protected]
Zamboni
fuente
1
la mención del hgrcen la .hgcarpeta fue útil
E-rich
9

no importa windows o linux, hg busca el archivo "/.hg/hgrc" para una configuración válida. Como dice "hg help config", solo tienes que agregar al final de ese archivo las siguientes líneas:

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

guardar y "hg commit -m 'test'"

Usuario
fuente
4

Si está usando TortoiseHg, puede agregar configuraciones de [UI] fácilmente

  1. Haga clic derecho en cualquier carpeta del Explorador para acceder al menú de TortoiseHg .

  2. En el menú desplegable TortoiseHg , elija Configuración global

  3. Desde la interfaz, haga clic en Editar archivo

  4. Agrega la configuración de [IU] al final

[ui]

username = YourName

detallado = verdadero

  1. Guarda y listo
Paul Neumeyer
fuente
3

Esto es lo que funcionó de maravilla para mí en Windows XP:

  1. Vaya a la carpeta C:\Program Files\Mercurial\hgrc.dasumiendo que ha instalado Mercurial C:\Program Files\Mercurial\.
  2. Debería ver un Mercurial.RCarchivo allí.
  3. Copie el archivo a C:\Documents and Settings\ [USERNAME]\
  4. Cambiar nombre Mercurial.RCa Mercurial.ini.
  5. Edite la sección [ui] así:

    [ui]

    ; editor utilizado para ingresar registros de confirmación, etc. La mayoría de los editores de texto funcionarán.

    editor = bloc de notas

    verbose = Verdadero

    username = [email protected]

Ralph Wiggum
fuente
También funciona para Windows Server 2008 y Mercurial msi de 64 bits, excepto, por supuesto, el paso 3 debe ser c: \ users [nombre de usuario]
Andrew Cowenhoven
Habiendo instalado "TortoiseHg 2.2 con Mercurial 2.0 - x86 Windows", el archivo Mercurial.RC se puede encontrar en C: \ Archivos de programa \ TortoiseHg \ hgrc.d
urig
1

Yo tuve el mismo problema. Lo que me ayudó fue poner [ui]y username = firstname lastnameen líneas separadas del ~/.hgrcarchivo. Poner estas dos cosas en una sola línea no funcionó y condujo al error.

Mathias Wellner
fuente
1

Este problema aún existe. El mercurial.iniarchivo se ignora sin importar dónde lo coloque.

No mercurial.inise crea ningún archivo durante la instalación. Creé uno en el directorio de instalación de Mercurial, pero no tuvo ningún efecto. Lo copié en %USERPROFILE%y luego en %HOME%, pero ninguno funciona.

Poner .hgrcen el directorio HOME funciona.

La documentación ("hg help config") debe arreglarse.

Dean Schulze
fuente
1

Configure su .hgrc así:

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

¡¡NOTA!! No omitas la parte [ui]

Wedava
fuente
0

Esto es un problema porque en el archivo de ayuda la ruta al archivo de configuración especificado no existe, tenemos que copiar el Mercurial.inidirectorio de archivos de programa al directorio de USUARIO, tal vez este sea un problema proveniente del instalador en Windows.

@Kevin Won: olvidó agregar la línea:

verbose = True
Pierre Ducher
fuente