Errore di Mercurial: interrompi nessun nome utente fornito


117

Problema su WindowsXP (probabilmente si verificherà su tutte le installazioni di Win), la prima volta che si utilizza Mercurial. Ho trovato la risposta in un posto inedito, quindi sto chiedendo / rispondendo alla domanda da solo in modo che gli altri non debbano cercare come ho fatto io.

La prima volta che uso Mercurial sulla macchina.

Aggiungi nuovo repoz:

c:\bla\>hg add

nessun problema.

Quindi, eseguire il commit:

c:\bla\hg commit

errore:

abort: nessun nome utente fornito (vedi "hg help config")


70
In che modo le informazioni su un'utilità di controllo della versione non sono correlate alla programmazione?
mipadi

5
@mipadi: nello stesso modo in cui le informazioni sull'uso di una tastiera non sono correlate alla programmazione.
Draemon

È davvero un occhio nero per Mecurial che sono passati più di due anni e questo problema esiste ancora.
Celeritas

Dov'è il dannato file in Cygwin ??! ... Oh. Se il repo è clonato o avviato, ce n'è uno in (repo) /. Hg
luser droog

Risposte:


94

Soluzione:

Sulla mia installazione di Windows, il file Mercurial.ininon è stato propagato. È inoltre necessario che venga aggiunta un'e-mail utente.

Prendi il Mercurial.inifile predefinito che si trova nella directory di installazione dell'eseguibile Mercurial ( C:\Program Files\Mercurial\Mercurial.inisulla mia macchina) e copialo C:\Documents and Settings\myNamenella directory home dell'utente ( su winXP).

In un'installazione di Windows 7 non è presente un file .ini predefinito, sarà necessario crearne uno nuovo in C:\Users\myName.

Quindi modifica il file .ini. Trova questa zona. Il nome utente necessita di un set di posta elettronica. Sarà vuoto: aggiungi qui il tuo nome e-mail.

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

Questo ha risolto il problema per me.


1
Ho postato questa domanda per aiutare qualcuno in futuro a non dover perdere tempo con questa pepita.
Kevin ha vinto il

4
In realtà non c'è nemmeno il file Mercurial.ini nella mia directory di installazione. L'aggiunta di un file chiamato hgrcnella .hgcartella del mio repository con il testo sopra mi ha permesso di eseguire il commit delle modifiche.
Phil Gan

2
Nessun file Mercurial.ini nella mia directory di installazione (Win 7 64 bit). Ho creato Mercurial.ini su C: \ Users \ Abbas e ho incollato lo snippet [ui] di Kevin e ha funzionato a meraviglia. Ho provato la soluzione di Phil e ha funzionato anche lui.
Abbas

Grazie per la domanda e la risposta. Mi ci sarebbero voluti anni per capirlo. Ah, le difficoltà dello sviluppo su Windows ...
Wes

Sto usando Tortoise Hg e anche questo suggerimento mi aiuta. Grazie !
James Freitas

51

Mi dispiace, ma perché lo chiami un problema? Mercurial ti chiede di vedere hg help config, e questo testo di aiuto ti dice esplicitamente come aggiungere un nome utente - Lo so da quando ho scritto quel testo di aiuto :-)

Come dovremmo migliorare il messaggio di errore per renderlo più chiaro?

Modifica: da quando l'ho scritto nel 2010, siamo riusciti a rovinare tutto hg help configincludendo l'aiuto per tutte le impostazioni di configurazione. Quindi il piccolo esempio di come impostare il nome utente:

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

ora è perso nel rumore (aggiungilo a ~/.hgrc, creando il file se necessario). Ho aperto un problema per questo.


1
Grazie per la spiegazione - è così bello vedere quando le persone rispondono alle domande con la soluzione che hanno trovato :-) Tuttavia, il testo della hg help configguida include le istruzioni per Windows, cioè elenca le possibili posizioni del tuo Mercurial.inifile. Una delle posizioni è C:\Program Files\Mercurial\Mercurial.ini(indicata come <install-dir>\Mercurial.ini), quindi non sono sicuro del motivo per cui le impostazioni in quel file non hanno avuto effetto.
Martin Geisler

13
Il grosso problema per me (e ciò che mi ha portato a questa domanda) è stato il fatto che niente di tutto questo è menzionato nella pagina di avvio rapido: mercurial.selenic.com/quickstart/# . Quella pagina implica che un'installazione di base seguita dalle istruzioni funzionerà, e non funziona, senza leggere il testo della guida. A questo punto sei nervoso perché presumi già che qualcosa sia andato storto
Nick Fortescue

7
@Martin Geisler: Il hg help configtesto non dice cosa dobbiamo fare per risolvere il problema e non è particolarmente chiaro dove puntano i percorsi nella sezione "Su Windows". Da dove viene %USERPROFILE%o %HOME%indica? Immagino che non aiuti il ​​fatto che l'installazione successiva mercurial.ininon esista da nessuna parte sul mio sistema.
Phil Gan

8
Non voglio essere offensivo, quindi prendilo come un tentativo di essere costruttivo. Potrebbe esserci una risposta nelle 1260 righe di testo che viene stampata come standard quando faccio "hg help config" ma penso davvero che 1260 righe di testo siano eccessive e che una risposta breve e distinta, anche se mi invia a i documenti sarebbero molto migliori.
Tony Giaccone

4
@TonyGiaccone: Nel 2010 stampava hg help configsolo una schermata di testo e mi ero assicurato che l'impostazione del nome utente fosse l'esempio principale in quel testo. Da allora siamo riusciti a rovinare tutto includendo il testo della guida per tutte le opzioni di configurazione in quell'output :-( Ho aperto un problema per questo: mercurial.selenic.com/bts/issue3348
Martin Geisler

13

Su Windows XP non vedo un file ini. Dopo aver creato il repository utilizzando il comando hg init, ho aggiunto un file con il nome hgrcalla cartella.hg

Con il seguente contenuto:

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

1
la menzione del hgrcnella .hgcartella è stata utile
E-rich

9

indipendentemente da Windows o Linux, hg cerca nel file "/.hg/hgrc" una configurazione valida. Come in "hg help config", devi solo aggiungere alla fine di quel file le seguenti righe:

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

salva e "hg commit -m 'test'"


4

Se stai usando TortoiseHg, puoi aggiungere facilmente le impostazioni [UI]

  1. Fare clic con il tasto destro in una cartella qualsiasi di Explorer per accedere al menu TortoiseHg .

  2. Dal menu a comparsa TortoiseHg scegliere Impostazioni globali

  3. Dall'interfaccia fare clic su Modifica file

  4. Aggiungi le impostazioni [UI] alla fine

[Ui]

username = YourName

verbose = true

  1. Salva e hai finito

3

Ecco cosa ha funzionato come un fascino per me su Windows XP:

  1. Vai alla cartella C:\Program Files\Mercurial\hgrc.dsupponendo che tu abbia installato Mercurial in C:\Program Files\Mercurial\.
  2. Dovresti vedere un Mercurial.RCfile lì dentro.
  3. Copia il file in C:\Documents and Settings\ [USERNAME]\
  4. Rinomina Mercurial.RCin Mercurial.ini.
  5. Modifica la sezione [ui] in questo modo:

    [Ui]

    ; editor utilizzato per inserire i log di commit, ecc. La maggior parte degli editor di testo funzionerà.

    editor = blocco note

    verbose = True

    username = userEmail@domain.com


Funziona anche per Windows Server 2008 e Mercurial msi a 64 bit tranne ovviamente che il passaggio 3 dovrebbe essere c: \ users [nome utente]
Andrew Cowenhoven

Dopo aver installato "TortoiseHg 2.2 con Mercurial 2.0 - x86 Windows", il file Mercurial.RC può essere trovato in C: \ Program Files \ TortoiseHg \ hgrc.d
urig

1

Ho avuto lo stesso problema. Ciò che mi ha aiutato è stato mettere [ui]e username = firstname lastnamesu righe separate del ~/.hgrcfile. Mettere queste due cose su una riga non ha funzionato e ha portato all'errore.


1

Questo problema esiste ancora. Il mercurial.inifile viene ignorato indipendentemente da dove lo metti.

Nessun mercurial.inifile viene creato durante l'installazione. Ne ho creato uno nella directory di installazione di Mercurial, ma non ha avuto effetto. L'ho copiato in %USERPROFILE%e poi in %HOME%, ma nessuno dei due funziona.

Mettere .hgrcnella directory HOME funziona.

La documentazione ("hg help config") deve essere corretta.


1

Configura il tuo .hgrc in questo modo:

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

NOTA!! Non tralasciare la parte [ui]


0

Questo è un problema perché nel file della guida il percorso del file di configurazione specificato non esiste, dobbiamo copiare la Mercurial.inidirectory dei file di programma nella directory USER, forse questo è un problema proveniente dall'installer su Windows.

@Kevin Won: hai dimenticato di aggiungere la riga:

verbose = True
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.