les*_*es2 10 authentication mercurial push
在家里,这很完美.我现在在另一台计算机上(使用cygwin)并且hg push不会提示输入用户名/密码:
user@localhost /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
Run Code Online (Sandbox Code Playgroud)
这是我的〜/ .hgrc的内容:
[http_proxy]
host=someproxy:8080
[ui]
username = My Name <myemail>
Run Code Online (Sandbox Code Playgroud)
提前感谢任何建议!
注意:这似乎是一个cygwin问题.当我从Windows提示符(cmd.exe)尝试时,它按预期工作:
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.
Run Code Online (Sandbox Code Playgroud)
- LES
小智 8
这可能是因为使用了与Windows控制台子系统绑定的Mercurial版本.与Tortoise一起发布的二进制文件属于这一类.如果是这种情况,mercurial期望使用控制台子系统来提示输入凭据,但是从Cygwin shell运行时它找不到它.在我的情况下,安装和使用Cygwin版本的mercurial修复了问题,除了修复颜色输出.要检查您正在使用的版本,请运行'which hg'(但您可能已经知道).
添加安德鲁的评论:
安装和使用Cycurwin版本的mercurial修复了这个问题,
这也解决了我的问题,但它引起了另一个问题,花了我一些时间才弄明白.当使用Cygwin版本的hg时,所有在TortoiseHG下克隆的文件在我运行时都显示为已修改hg status,但在我运行时没有显示任何差异hg diff.
问题是权限不匹配.chmod 644 .* -R在每个仓库中运行解决了这个问题.
由于它是HTTP,您始终可以将用户名和密码放在URL中.这适用于使用http auth和任何浏览器的任何网站.
hg push https://myemailaddress:*********@viewprotect.googlecode.com/hg/
Run Code Online (Sandbox Code Playgroud)
或者,较新的Mercurial版本具有可以使用的auth部分.
顺便说一下,这是一个可怕的密码.你应该拿出比八颗星更好的东西.
| 归档时间: |
|
| 查看次数: |
11547 次 |
| 最近记录: |