2010-06-25 28 views
10

Ở nhà, công trình này hoàn hảo. Tôi đang trên một máy tính khác bây giờ (sử dụng Cygwin) và hg push sẽ không nhắc nhập username/password:Làm cách nào để nhận được hg nhắc nhở tên người dùng/mật khẩu HTTP của tôi trên cygwin/windows?

[email protected] /cygdrive/d/repos/upthescala/viewprotect 
$ hg push https://viewprotect.googlecode.com/hg/ 
pushing to https://viewprotect.googlecode.com/hg/ 
searching for changes 
abort: http authorization required 

Dưới đây là nội dung của tôi ~/.hgrc:

[http_proxy] 
host=someproxy:8080 

[ui] 
username = My Name <myemail> 

Cảm ơn tạm ứng cho bất kỳ lời khuyên nào!

Lưu ý: điều này có vẻ là vấn đề về Cygwin. Khi tôi cố gắng từ Windows prompt (cmd.exe), nó hoạt động như mong đợi:

D:\repos\upthescala\viewprotect>hg push https://viewprotect.googlecode.com/hg/ 
pushing to https://viewprotect.googlecode.com/hg/ 
searching for changes 
http authorization required 
realm: Google Code Mercurial Repository 
user: myemailaddress 
password: ********* 

remote: Success. 

- LES

Trả lời

6

Vì nó là HTTP bạn luôn có thể đặt tên người dùng và mật khẩu đúng trong URL. Điều đó hoạt động trên bất kỳ trang web nào sử dụng http auth và trong bất kỳ trình duyệt nào.

hg push https://myemailaddress:*********@viewprotect.googlecode.com/hg/ 

Cách khác, phiên bản Mercurial mới hơn có auth section bạn có thể sử dụng.

BTW, đó là một mật khẩu khủng khiếp. Bạn nên đến với một cái gì đó tốt hơn tám ngôi sao.

+0

tất nhiên, tôi đã chặn mật khẩu thực! (Đó là mật khẩu khó hiểu mà google tạo ra cho bạn cho kho lưu trữ mã nguồn - tôi không dày đặc đó :) – les2

+8

lol @ "đó là mật khẩu khủng khiếp. Bạn nên tìm ra thứ gì đó tốt hơn tám sao." – HighCommander4

+1

Cảm ơn @ HighCommander4 Tôi biết ai đó sẽ nhận được nó. :) –

8

Điều này có thể do việc sử dụng phiên bản Mercurial được gắn với hệ thống con giao diện điều khiển Windows. Các phân phối nhị phân với Rùa rơi vào thể loại này. Nếu đây là trường hợp, mercurial được mong đợi để sử dụng hệ thống con giao diện điều khiển để nhắc cho các thông tin đăng nhập, nhưng nó không tìm thấy nó khi chạy từ vỏ Cygwin. Trong trường hợp của tôi, cài đặt và sử dụng phiên bản Cygwin của mercurial đã khắc phục được sự cố, ngoài việc sửa chữa đầu ra màu. Để kiểm tra phiên bản bạn đang sử dụng, hãy chạy 'which hg' (nhưng có thể bạn đã biết điều đó).

+0

Tôi gặp vấn đề tương tự, nhưng tôi sử dụng MSYS chứ không phải Cygwin. Bất cứ đề nghị nào cho tôi? – HighCommander4

+0

Ai đó có thể cho anh chàng này một huy chương! –

8

Để thêm vào Andrew bình luận:

cài đặt và sử dụng phiên bản Cygwin của đồng bóng cố định được vấn đề,

này cũng cố định các vấn đề đối với tôi, nhưng nó gây ra một vấn đề khác mà đưa tôi một thời gian để tìm ra. Khi sử dụng phiên bản Cygwin của hg, tất cả các tệp đã được nhân bản dưới TortoiseHG xuất hiện dưới dạng sửa đổi khi tôi chạy hg status, nhưng không có sự khác biệt nào được hiển thị cho bất kỳ tệp nào khi chạy hg diff.

Vấn đề là quyền không khớp. Chạy chmod 644 .* -R trong mỗi repo giải quyết vấn đề này.

Các vấn đề liên quan