hủy bỏ: không có tên người dùng nào được cung cấp (xem phần trợ giúp của hg


164

Tôi đã thêm kho lưu trữ và tại thời điểm cam kết, tôi gặp lỗi như

error:  abort: no username supplied (see "hg help config") 

Tôi cũng không nhận được tệp Mercurial.ini trên địa phương. Có ai biết làm thế nào tôi có thể giải quyết lỗi này trên Fedora không?


2
Tệp Mercurial.ini là tệp cấu hình người dùng trên Windows. Trên Fedora, nó có thể là ~ /
.hgrc

Câu trả lời:


179

Hoặc đặt một hgrc trong thư mục .hg trong repo của bạn hoặc đặt tệp .hgrc (hgrc cho Windows) trong thư mục nhà của bạn (sau đó nó bao gồm tất cả các dự án của bạn) Trong tệp bạn nên viết

[ui]
username = Your Name <your@mail>

1
trong unix hoặc cygwin, tệp trong homedir của bạn bắt đầu bằng dấu chấm: .hgrc
neves

Vâng, gregm đã chỉnh sửa nó thành tên tệp windows để tôi làm rõ nó ngay bây giờ, bao gồm cả hai.
cjg

1
Từ Mercurial 3.0 có thể hữu ích hg config -elệnh mở trình soạn thảo với tệp cấu hình nhà của bạn. Xem hg help -c configđể có thêm lựa chọn.
santiagopim

Tôi thật ngốc! Hãy quên thẻ [ui]!
vanguard69

55

Trên Windows, các tệp cấu hình này được đọc:

- "<repo>\.hg\hgrc"
- "%USERPROFILE%\.hgrc"
- "%USERPROFILE%\Mercurial.ini"
- "%HOME%\.hgrc"
- "%HOME%\Mercurial.ini"
- "C:\Mercurial\Mercurial.ini"
- "HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial"
- "<install-dir>\Mercurial.ini"

Trên Unix, các tệp này được đọc:

- "<repo>/.hg/hgrc"
- "$HOME/.hgrc"
- "/etc/mercurial/hgrc"
- "/etc/mercurial/hgrc.d/*.rc"
- "<install-root>/etc/mercurial/hgrc"
- "<install-root>/etc/mercurial/hgrc.d/*.rc"

Bao gồm các mục sau trong một trong các tệp trên:

[ui]
username = Your Name <your@mail>

3
nó có, [ui] tên người dùng = Tên của bạn cho biết cách chỉ định tên người dùng.
Luka Ramishvili

Nó thực sự không phải vì nó không cho biết tập tin nào có nghĩa vụ lưu trữ tên người dùng cũng như không giải thích lý do tại sao nó không có hoặc không được yêu cầu đăng ký tên người dùng ở nơi đầu tiên.
anon58192932

1
Là phạm nhân, các ý kiến ​​trên là đúng, điều này không trả lời câu hỏi. Tuy nhiên, nó thêm thông tin hữu ích, vì vậy +1.
Bobble

19

Câu trả lời đơn giản - trong thư mục .hg của bạn, tạo một tệp có tên .hgrc trong đó, thêm nội dung sau (kiểm tra hg help configcú pháp chính xác)

[ui]
username = forename surname <forename.surnamce@email.com>
verbose = True

và lưu nó Nên làm việc bây giờ. Lưu ý rằng verbose = True là không bắt buộc, nhưng tôi đã bao gồm nó vì nó được liệt kê trong nội dung trợ giúp

(Đây là từ bộ nhớ, nhưng hg help configsẽ cho bạn biết tên tệp và cú pháp chính xác)


Như tôi đã nói trong câu trả lời, nó không bắt buộc, nhưng tôi đã đưa nó vào vì đó là những gì hg help configđầu ra. Chỉ trong câu trả lời cho sự nhất quán. :)
ZombieSheep

4
Tốt hơn là đặt tên người dùng vào tệp toàn cầu ~ / .hgrc của bạn, không phải trong tệp per-repo.
Ry4an Brase

nếu bạn đặt tệp trong projectdir / .hg, thì nó phải là projectdir / .hg / hgrc, không phải
.hgrc

Làm theo chỉ dẫn của bạn Ry4an và đã làm: chạm ~ / .hgrc chỉnh sửa ~ / .hgrc sau đó qua nội dung của anser zombie của zombie, khai thác bit verbose, vào tệp. Vấn đề đã được giải quyết :)
anon58192932

16

chạy hg config --edit (đã thử nghiệm trong hg 3.1 cả trên linux debianwindows ) nó sẽ tạo (nếu không tồn tại) và mở một tệp có văn bản:

# example config (see "hg help config" for more info)

[ui]
# name and email, e.g.
# username = Jane Doe <jdoe@example.com>
username = 

[extensions]
# uncomment these lines to enable some popular extensions
# (see "hg help extensions" for more info)
# pager =
# progress =
# color =  

điền vào trường "tên người dùng" và lưu tệp


@lazycommit, phiên bản hg và HĐH của bạn là gì? Tôi đã kiểm tra 3.1.1 trong linux debian và windows 7 - nó hoạt động ở đó. Có lẽ hg của bạn đã lớn tuổi.
Nikolai Saiko

2.8.2 có, nó đã cũ)
lazycommit

2

Đảm bảo rằng người dùng hiện tại sở hữu tệp hgrc hoặc nếu không có quyền chính xác cho nó.


1

đặt tệp .hgrc vào $ HOME hoặc nhà / người dùng

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.