ข้อผิดพลาด Mercurial: ยกเลิกไม่ได้ระบุชื่อผู้ใช้


117

ปัญหาใน WindowsXP (น่าจะเกิดขึ้นกับการติดตั้ง Win ทั้งหมด) ครั้งแรกโดยใช้ Mercurial ฉันพบคำตอบในที่ที่ไม่ชัดเจนดังนั้นฉันจึงถาม / ตอบคำถามด้วยตัวเองเพื่อให้คนอื่นไม่ต้องค้นหาเหมือนฉัน

ครั้งแรกที่ใช้ Mercurial บนเครื่อง

เพิ่ม repoz ใหม่:

c:\bla\>hg add

ไม่มีปัญหา.

ถัดไปกระทำ:

c:\bla\hg commit

ข้อผิดพลาด:

ยกเลิก: ไม่ได้ระบุชื่อผู้ใช้ (โปรดดู "hg help config")


70
ข้อมูลเกี่ยวกับยูทิลิตีการควบคุมเวอร์ชันไม่เกี่ยวข้องกับการเขียนโปรแกรมอย่างไร
mipadi

5
@mipadi: เช่นเดียวกับที่ข้อมูลเกี่ยวกับการใช้แป้นพิมพ์ไม่เกี่ยวข้องกับการเขียนโปรแกรม
Draemon

เป็นตาดำๆสำหรับ Mecurial จริงๆเป็นเวลากว่าสองปีแล้วและปัญหานี้ยังคงมีอยู่
Celeritas

ไฟล์เหี้ยใน Cygwin อยู่ไหน ??! ... โอ้. หาก repo ถูกโคลนหรือเริ่มต้นจะมีหนึ่งใน (repo) /. hg
luser droog

คำตอบ:


94

สารละลาย:

ในการติดตั้ง Windows ของฉันMercurial.iniไม่ได้รับการเผยแพร่ นอกจากนี้ยังต้องการอีเมลผู้ใช้ที่เพิ่มเข้าไป

นำMercurial.iniไฟล์เริ่มต้นที่พบในไดเร็กทอรีการติดตั้ง Mercurial ที่ปฏิบัติการได้ ( C:\Program Files\Mercurial\Mercurial.iniบนเครื่องของฉัน) และคัดลอกไปยังโฮมเดอร์ผู้ใช้ของคุณ ( C:\Documents and Settings\myNameบน winXP)

ในการติดตั้ง Windows 7 จะไม่มี. ini เริ่มต้นคุณจะต้องสร้างใหม่ในC:\Users\myName.

จากนั้นแก้ไขไฟล์. ini นั้น ค้นหาพื้นที่นี้ ชื่อผู้ใช้ต้องมีชุดอีเมล จะว่างเปล่า - เพิ่มชื่ออีเมลของคุณที่นี่

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

สิ่งนี้ช่วยแก้ปัญหาให้ฉันได้


1
ฉันโพสต์คำถามนี้เพื่อหวังว่าจะช่วยให้ใครบางคนในอนาคตไม่ต้องเสียเวลากับนักเก็ตคนนี้
Kevin Won

4
จริงๆแล้วไม่มีไฟล์ Mercurial.ini ในไดเร็กทอรีการติดตั้งของฉัน การเพิ่มไฟล์ที่เรียกว่าhgrcใน.hgโฟลเดอร์ของที่เก็บของฉันด้วยข้อความด้านบนทำให้ฉันยอมรับการเปลี่ยนแปลงได้
Phil Gan

2
ไม่มีไฟล์ Mercurial.ini ในไดเร็กทอรีการติดตั้งของฉัน (Win 7 64-bit) ฉันสร้าง Mercurial.ini บน C: \ Users \ Abbas และข้อมูลโค้ด [ui] ของ Kevin ที่คัดลอกมาแล้วและมันก็ใช้งานได้ดี ลองใช้วิธีแก้ปัญหาของ Phil แล้วก็ได้ผลเช่นกัน
อับบาส

ขอบคุณสำหรับคำถามและคำตอบ คงต้องใช้เวลานานกว่าจะคิดออก อาความยากลำบากในการพัฒนาบน Windows ...
Wes

ฉันใช้ Tortoise Hg และเคล็ดลับนั้นก็ช่วยฉันได้เช่นกัน ขอบคุณ!
James Freitas

51

ฉันขอโทษ แต่ทำไมคุณถึงเรียกสิ่งนี้ว่าปัญหา Mercurial ขอให้คุณดูhg help configและข้อความช่วยเหลือนี้บอกวิธีเพิ่มชื่อผู้ใช้อย่างชัดเจน - ฉันรู้ตั้งแต่ฉันเขียนข้อความช่วยเหลือนั้น :-)

เราควรปรับปรุงข้อความแสดงข้อผิดพลาดอย่างไรเพื่อให้ชัดเจนยิ่งขึ้น

แก้ไข:ตั้งแต่ฉันเขียนสิ่งนี้ในปี 2010 เราได้จัดการเรื่องนี้โดยhg help configรวมความช่วยเหลือสำหรับการตั้งค่าการกำหนดค่าทั้งหมด ตัวอย่างเล็ก ๆ น้อย ๆ ที่ดีในการตั้งชื่อผู้ใช้:

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

ตอนนี้หายไปในเสียงรบกวน (เพิ่มสิ่งนี้ใน~/.hgrcการสร้างไฟล์หากจำเป็น) ฉันได้เปิดประเด็นสำหรับเรื่องนี้


1
ขอบคุณสำหรับคำอธิบาย - เป็นเรื่องดีมากที่ได้เห็นเมื่อมีคนติดตามคำถามพร้อมวิธีแก้ปัญหาที่พบ :-) อย่างไรก็ตามข้อความช่วยเหลือสำหรับhg help configมีคำแนะนำสำหรับ Windows กล่าวคือจะแสดงตำแหน่งที่เป็นไปได้ของMercurial.iniไฟล์ของคุณ สถานที่แห่งหนึ่งคือC:\Program Files\Mercurial\Mercurial.ini(แสดงรายการเป็น<install-dir>\Mercurial.ini) ดังนั้นฉันจึงไม่แน่ใจว่าเหตุใดการตั้งค่าในไฟล์จึงไม่มีผล
Martin Geisler

13
ปัญหาใหญ่สำหรับฉัน (และสิ่งที่นำฉันไปคำถามนี้) เป็นไม่มีความเป็นจริงนี้เป็นที่กล่าวถึงในหน้าเริ่มต้นอย่างรวดเร็ว: mercurial.selenic.com/quickstart/# หน้านั้นหมายความว่าการติดตั้งขั้นพื้นฐานตามด้วยการทำตามคำแนะนำจะใช้งานได้และจะไม่ทำงานโดยไม่อ่านข้อความช่วยเหลือ ณ จุดนี้คุณรู้สึกประหม่าเพราะคุณคิดว่ามีบางอย่างผิดพลาด
Nick Fortescue

7
@Martin Geisler: hg help configข้อความไม่ได้บอกว่าเราต้องทำอะไรเพื่อแก้ปัญหาและไม่ชัดเจนว่าเส้นทางนั้นชี้ไปที่ใดในส่วน "บน Windows" จุดไหน%USERPROFILE%หรือ%HOME%ชี้? ฉันเดาว่ามันไม่ช่วยให้การติดตั้งต่อไปนี้mercurial.iniไม่มีอยู่ในระบบของฉัน
Phil Gan

8
อย่าหมายถึงการดูถูกดังนั้นโปรดถือเป็นความพยายามที่จะสร้างสรรค์ อาจมีคำตอบในข้อความ 1260 บรรทัดที่พิมพ์ออกมาเป็นมาตรฐานเมื่อฉันทำ "hg help config" แต่ฉันคิดว่าข้อความ 1260 บรรทัดมากเกินไปและเป็นคำตอบสั้น ๆ ที่แตกต่างกันแม้ว่ามันจะส่งฉันไปที่ เอกสารจะดีกว่ามาก
Tony Giaccone

4
@TonyGiaccone: ย้อนกลับไปในปี 2010 hg help configจะพิมพ์เฉพาะข้อความบนหน้าจอและฉันได้ตรวจสอบให้แน่ใจว่าการตั้งชื่อผู้ใช้เป็นตัวอย่างหลักในข้อความนั้น ตั้งแต่นั้นมาเราก็จัดการแก้ไขปัญหานี้ได้โดยรวมข้อความช่วยเหลือสำหรับตัวเลือกการกำหนดค่าทั้งหมดในเอาต์พุตนั้น :-( ฉันได้เปิดปัญหาสำหรับสิ่งนี้: mercurial.selenic.com/bts/issue3348
Martin Geisler

13

ใน Windows XP ฉันไม่เห็นไฟล์ ini หลังจากสร้างที่เก็บโดยใช้คำสั่งhg initฉันเพิ่มไฟล์ที่มีชื่อhgrcลงในโฟลเดอร์.hg

โดยมีเนื้อหาดังนี้

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

1
การกล่าวถึงhgrcใน.hgโฟลเดอร์นั้นมีประโยชน์
E-rich

9

ไม่ว่า windows หรือ linux hg จะมองหาไฟล์ "/.hg/hgrc" สำหรับการกำหนดค่าที่ถูกต้อง ดังที่ใน "hg help config" ระบุว่าคุณต้องเพิ่มที่ท้ายไฟล์ในบรรทัดต่อไปนี้:

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

บันทึกและ "hg คอมมิต -m 'ทดสอบ" "


4

หากคุณใช้ TortoiseHg คุณสามารถเพิ่มการตั้งค่า [UI] ได้อย่างง่ายดาย

  1. คลิกขวาในโฟลเดอร์ Explorer เพื่อเข้าถึงเมนู TortoiseHg

  2. จากเมนู Flyout TortoiseHg ให้เลือกGlobal Settings

  3. จากอินเทอร์เฟซคลิกแก้ไขไฟล์

  4. เพิ่มการตั้งค่า [UI] ต่อท้าย

[UI]

username = YourName

verbose = จริง

  1. บันทึกและคุณทำเสร็จแล้ว

3

นี่คือสิ่งที่เป็นเสน่ห์สำหรับฉันใน Windows XP:

  1. ไปที่โฟลเดอร์C:\Program Files\Mercurial\hgrc.dสมมติว่าคุณได้ติดตั้ง Mercurial C:\Program Files\Mercurial\ไว้ที่
  2. คุณควรเห็นMercurial.RCไฟล์ในนั้น
  3. คัดลอกไฟล์ไปที่ C:\Documents and Settings\ [USERNAME]\
  4. เปลี่ยนชื่อMercurial.RCเป็นMercurial.ini.
  5. แก้ไขส่วน [ui] ดังนี้:

    [UI]

    ; โปรแกรมแก้ไขที่ใช้ในการป้อนบันทึกการกระทำ ฯลฯ โปรแกรมแก้ไขข้อความส่วนใหญ่จะทำงาน

    บรรณาธิการ = notepad

    verbose = จริง

    ชื่อผู้ใช้ = userEmail@domain.com


ใช้ได้กับ Windows Server 2008 และ Mercurial msi 64 บิตยกเว้นขั้นตอนที่ 3 ควรเป็น c: \ users [ชื่อผู้ใช้]
Andrew Cowenhoven

หลังจากติดตั้ง "TortoiseHg 2.2 กับ Mercurial 2.0 - x86 Windows" แล้วไฟล์ Mercurial.RC จะอยู่ใน C: \ Program Files \ TortoiseHg \ hgrc.d
urig

1

ผมมีปัญหาเหมือนกัน. สิ่งที่ช่วยฉันคือการวาง[ui]และusername = firstname lastnameแยกบรรทัดของ~/.hgrcไฟล์ การวางสองสิ่งนี้ไว้ในบรรทัดเดียวไม่ได้ผลและนำไปสู่ข้อผิดพลาด


1

ปัญหานี้ยังคงมีอยู่ mercurial.iniไฟล์จะถูกละเว้นไม่ว่าคุณจะใส่มัน

ไม่มีการmercurial.iniสร้างไฟล์ระหว่างการติดตั้ง ฉันสร้างหนึ่งในไดเร็กทอรีการติดตั้ง Mercurial แต่ไม่มีผลใด ๆ ฉันคัดลอกไปที่%USERPROFILE%แล้วไปที่%HOME%แต่ไม่มีใครทำงาน

การใส่.hgrcไดเร็กทอรี HOME ใช้งานได้

เอกสารประกอบ ("hg help config") ต้องได้รับการแก้ไข


1

กำหนดค่าคุณ. hgrc ดังนี้:

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

บันทึก!! อย่าทิ้งส่วน [ui]


0

นี่เป็นปัญหาเนื่องจากในไฟล์วิธีใช้ไม่มีพา ธ ไปยังไฟล์กำหนดค่าที่ระบุเราต้องคัดลอกไฟล์ Mercurial.iniไดเร็กทอรี from program files ไปยังไดเร็กทอรี USER ซึ่งอาจเป็นปัญหาที่มาจากตัวติดตั้งบน windows

@ เควินวอน: ลืมแอดไลน์:

verbose = True
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.