Mercurial hatası: kullanıcı adı sağlanmadan iptal edin


117

Mercurial'ı ilk kez kullanırken WindowsXP'de sorun (büyük olasılıkla tüm Win kurulumlarında meydana gelecektir). Cevabı açık olmayan bir yerde buldum, bu yüzden soruyu kendim soruyorum / cevaplıyorum, böylece diğerleri benim yaptığım gibi arama yapmak zorunda kalmasın.

Mercurial'i makinede ilk kez kullanıyor.

Yeni depo ekleyin:

c:\bla\>hg add

sorun değil.

Sonra taahhüt edin:

c:\bla\hg commit

hata:

iptal: kullanıcı adı sağlanmadı ("hg yardım yapılandırması" na bakın)


70
Bir sürüm kontrol yardımcı programı hakkındaki bilgiler nasıl programlama ile ilgili değildir ?
mipadi

5
@mipadi: Aynı şekilde, klavye kullanımıyla ilgili bilgiler programlamayla ilgili değildir.
Draemon

İki yıldan fazla zaman geçtiği ve bu sorunun hala var olması Mecurial için gerçekten kara bir göz.
Celeritas

Cygwin'deki lanet olası dosya nerede ??! ... Oh. Repo klonlanmış veya başlatılmışsa, (repo) /. Hg içinde bir tane var
luser droog

Yanıtlar:


94

Çözüm:

Windows kurulumumda, Mercurial.iniyayılmadı. Ayrıca bir kullanıcı e-postasının eklenmesi gerekiyor.

Mercurial.iniMercurial çalıştırılabilir kurulum dizininde ( C:\Program Files\Mercurial\Mercurial.inibenim makinemde) bulunan varsayılan dosyayı alın ve kullanıcı ana C:\Documents and Settings\myNamedizine ( winXP'de) kopyalayın.

Bir Windows 7 yüklemesinde varsayılan .ini yoktur, içinde yeni bir tane oluşturmanız gerekir C:\Users\myName.

Sonra bu .ini dosyasını düzenleyin. Bu alanı bulun. Kullanıcı adının bir e-posta setine ihtiyacı var. Boş olacak - e-posta adınızı buraya ekleyin.

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

Bu benim için sorunu çözdü.


1
Bu soruyu gelecekte birisinin bu külçe ile zaman kaybetmesine yardımcı olmak için gönderdim.
Kevin

4
Aslında kurulum dizinimde de Mercurial.ini dosyası yok. Adlı bir dosya ekleme hgrcde .hgyukarıdaki metin ile Depodaki klasöründe beni değişiklikleri kaydetmek için izin verdi.
Phil Gan

2
Kurulum dizinimde de Mercurial.ini dosyası yok (Win 7 64-bit). Mercurial.ini'yi C: \ Users \ Abbas'da oluşturdum ve Kevin'in [ui] snippet'ini kopyalayıp yapıştırdım ve bir cazibe gibi çalıştı. Phil'in çözümünü denedi ve işe yaradı.
Abbas

Soru ve cevap için teşekkürler. Bunu anlamam yıllar alırdı. Ah, Windows'ta geliştirmenin zorlukları ...
Wes

Tortoise Hg kullanıyorum ve bu ipucu bana da yardımcı oluyor. Teşekkürler !
James Freitas

51

Üzgünüm ama neden buna sorun diyorsun? Mercurial görmenizi ister hg help configve bu yardım metni size bir kullanıcı adını nasıl ekleyeceğinizi açıkça anlatır - bu yardım metnini yazdığımdan beri biliyorum :-)

Bunu daha net hale getirmek için hata mesajını nasıl iyileştirmeliyiz?

Düzenleme: Bunu 2010'da yazdığımdan beri, hg help configtüm yapılandırma ayarları için dahil etme yardımı yaparak bunu alt üst ettik . Kullanıcı adının nasıl ayarlanacağına dair güzel küçük örnek:

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

artık gürültüde kaybolur ( ~/.hgrcgerekirse dosyayı oluşturarak bunu ekleyin). Bunun için bir sorun açtım .


1
Açıklama için teşekkürler - insanların buldukları çözümle ilgili soruları takip ettiklerinde görmek çok güzel :-) Ancak yardım metni hg help configWindows için talimatlar içeriyor, yani Mercurial.inidosyanızın olası konumlarını listeliyor . Konumlardan biri C:\Program Files\Mercurial\Mercurial.ini(olarak listelenmiştir <install-dir>\Mercurial.ini), bu nedenle o dosyadaki ayarların neden etkili olmadığından emin değilim.
Martin Geisler

13
Benim için en büyük sorun (ve beni bu soruya getiren şey) bunların hiçbirinin hızlı başlangıç ​​sayfasında belirtilmemesiydi: mercurial.selenic.com/quickstart/# . Bu sayfa, temel kurulumun ardından talimatları izleyerek çalışacağını ve yardım metnini okumadan çalışmayacağını ima eder. Bu noktada gerginsiniz çünkü zaten bir şeylerin ters gittiğini düşünüyorsunuz
Nick Fortescue

7
@Martin Geisler: hg help configMetin, sorunu çözmek için ne yapmamız gerektiğini söylemiyor ve özellikle "Windows'ta" bölümünde yolların nereye işaret ettiği belli değil. Nereyi işaret ediyor %USERPROFILE%ya da gösteriyor %HOME%? Sanırım aşağıdaki kurulumun mercurial.inisistemimin hiçbir yerinde olmamasına yardımcı olmuyor.
Phil Gan

8
Aşağılayıcı olmak istemeyin, bu yüzden lütfen bunu yapıcı olma girişimi olarak kabul edin. "Hg help config" yaptığımda standart olarak yazdırılan 1260 satırlık metinde bir yanıt olabilir ama gerçekten 1260 satırlık metnin aşırı olduğunu ve beni gönderse bile kısa ve belirgin bir yanıt olduğunu düşünüyorum. doktorlar çok daha iyi olurdu.
Tony Giaccone

4
@TonyGiaccone: 2010'da hg help configsadece bir ekran dolusu metin basardı ve kullanıcı adını ayarlamanın bu metindeki ana örnek olduğundan emin oldum. O zamandan beri, bu çıktıya tüm yapılandırma seçenekleri için yardım metnini ekleyerek bunu alt üst ettik :-( Bunun için bir sorun açtım: mercurial.selenic.com/bts/issue3348
Martin Geisler

13

Windows XP'de bir ini dosyası görmüyorum. Komutu kullanarak depoyu oluşturduktan sonra , klasöre hg initadında bir dosya ekledim.hgrc.hg

Aşağıdaki içerikle:

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

1
arasında söz hgrcde .hgklasörüne yardımcı oldu
e-zengin

9

Windows veya linux ne olursa olsun, hg geçerli yapılandırma için "/.hg/hgrc" dosyasına bakar. "Hg help config" in dediği gibi, yalnızca bu dosyanın sonuna aşağıdaki satırları eklemeniz gerekir:

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

kaydet ve "hg commit -m 'test"


4

TortoiseHg kullanıyorsanız, [UI] ayarlarını kolayca ekleyebilirsiniz

  1. TortoiseHg menüsüne erişmek için herhangi bir klasör Gezgini'ne sağ tıklayın .

  2. Açılır TortoiseHg menüsünden Global Ayarlar'ı seçin

  3. Arayüzden Dosyayı Düzenle'ye tıklayın

  4. [UI] ayarlarını sona ekleyin

[UI]

kullanıcı adı = Adınız

ayrıntılı = true

  1. Kaydet ve bitirdin

3

İşte Windows XP'de benim için büyüleyici olan şey:

  1. C:\Program Files\Mercurial\hgrc.dMercurial'i yüklediğinizi varsayarak klasöre gidin C:\Program Files\Mercurial\.
  2. Mercurial.RCOrada bir dosya görmelisin .
  3. Dosyayı şuraya kopyalayın: C:\Documents and Settings\ [USERNAME]\
  4. Rename Mercurial.RCiçin Mercurial.ini.
  5. [Ui] bölümünü şu şekilde düzenleyin:

    [UI]

    ; kayıt günlüklerini vb. girmek için kullanılan düzenleyici. Çoğu metin düzenleyicisi çalışacaktır.

    editor = not defteri

    verbose = Doğru

    username = userEmail@domain.com


Ayrıca Windows Server 2008 ve 64 bit Mercurial msi için de çalışır, tabii ki 3. adımın c: \ users [kullanıcı adı] olması gerekir
Andrew Cowenhoven

"TortoiseHg 2.2 with Mercurial 2.0 - x86 Windows" kurulduktan sonra, Mercurial.RC dosyası C: \ Program Files \ TortoiseHg \ hgrc.d
urig

1

Ben de aynı sorunu yaşadım. Beni koymak oldu ne yardım etti [ui]ve username = firstname lastnameayrı satırlarda ~/.hgrcdosyada. Bu iki şeyi bir satıra koymak işe yaramadı ve hataya neden oldu.


1

Bu sorun hala var. mercurial.iniDosya koymak olursa olsun göz ardı edilir.

Hiçbir mercurial.inidosya yükleme sırasında oluşturulur. Mercurial kurulum dizininde bir tane oluşturdum, ancak hiçbir etkisi olmadı. %USERPROFILE%Ve sonra kopyaladım %HOME%ama ikisi de çalışmıyor.

.hgrcHOME dizinine koymak işe yarar.

Belgelerin ("hg help config") düzeltilmesi gerekiyor.


1

.Hgrc'yi şu şekilde yapılandırın:

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

NOT!! [Ui] bölümünü dışarıda bırakmayın


0

Bu bir sorundur çünkü yardım dosyasında belirtilen yapılandırma dosyasının yolu yoktur, Mercurial.iniprogram dosyalarından USER dizinine kopyalamamız gerekir , belki de bu Windows'taki yükleyiciden gelen bir sorundur.

@Kevin Won: satırı eklemeyi unuttunuz:

verbose = True
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.