Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial 将密码存储在TortoiseHg中_Mercurial_Tortoisehg_Google Code - Fatal编程技术网

Mercurial 将密码存储在TortoiseHg中

Mercurial 将密码存储在TortoiseHg中,mercurial,tortoisehg,google-code,Mercurial,Tortoisehg,Google Code,有没有办法配置以存储我的密码 我有一个项目托管在上面,我使用TortoiseHg访问它。每当我想对谷歌代码进行修改时,乌龟就会提示我输入用户名和密码。谷歌代码要求我使用自动生成的密码,每次查找密码都会变得非常重复。安全警告 虽然从2017年9月15日起,该答案已被接受,但并非推荐的解决方案。您不应以纯文本形式存储密码。请改用mercurial_钥匙圈扩展名。看这里 您可以将推送URL更改为 这在和常见问题解答中进行了解释 编辑:Mercurial常见问题解答解释了另一种方法: 使用Mercur

有没有办法配置以存储我的密码


我有一个项目托管在上面,我使用TortoiseHg访问它。每当我想对谷歌代码进行修改时,乌龟就会提示我输入用户名和密码。谷歌代码要求我使用自动生成的密码,每次查找密码都会变得非常重复。

安全警告

虽然从2017年9月15日起,该答案已被接受,但并非推荐的解决方案。您不应以纯文本形式存储密码。请改用
mercurial_钥匙圈
扩展名。看这里


您可以将推送URL更改为

这在和常见问题解答中进行了解释

编辑:Mercurial常见问题解答解释了另一种方法:

使用Mercurial 1.3,您还可以向hgrc文件中添加auth部分: [auth] example.prefix = https://hg.example.net/ example.username = foo example.password = bar [授权] 例如:前缀=https://hg.example.net/ example.username=foo example.password=bar
如果您想通过OrtoiseHG进行配置,则可以使用“存储库设置”对话框。 打开对话框后,请切换到“同步”选项卡。 您可以添加包含HTTPS身份验证信息的路径


两个现有答案都建议将您的用户名和密码未加密存储在纯文本中,这有点不允许

您应该改用扩展,因为它是专门为安全保存身份验证密码而设计的。它已经与捆绑在一起,因此您只需在mercurial.ini文件中写入以下内容即可激活它:

[extensions]
mercurial_keyring=
您还必须通过编辑特定于存储库的.hg\hgrc文件,将用户名与推送url关联,如下例所示:

[paths]
default = https://<your_username>@bitbucket.org/tortoisehg/thg
[路径]
default=https://@bitbucket.org/tortoisehg/thg

有关将用户名与url关联的更多详细信息,请参阅扩展页的部分。

只需修改本地存储库
.hg
目录中的
hgrc
文件,如下所示:

[paths]
default = https://name:password@yourproj.googlecode.com/hg/
其中,name是您的谷歌代码登录,没有gmail/googlemail位,例如“fredb”(不是fredb@gmail.com),password是Google生成的密码,yourproj是GC项目的名称。比如:

default = https://fred:xyz123@fredproj.googlecode.com/hg/
三步走,看。 注意:这将以明文形式存储密码。


这对我来说可以使用
SSH
。我知道密码是纯文本的,但这在这个项目中不是问题。 您必须更改myUser和MyOPas的凭据和路径:TortoisePlink.exe。 编辑mercurial.ini文件

[reviewboard]
password = myPass
[ui]
username = myUser
ssh = "C:\Program Files\TortoiseHg\lib\TortoisePlink.exe" -l myUser -pw  myPass

如果您希望将密码存储在mercurial.ini中,并且在升级到OrtoiseHG 4.9或更高版本后密码不再工作,则可能的解决方案是在前缀中添加端口:

[auth]
tax.prefix = http://server:8080
tax.username = cerveser
tax.password = mypassword

我刚刚尝试了这个解决方案,它在Windows7上运行得非常好。很不错的!谢谢对我来说效果很好-但我认为您还需要在[auth]标题下包含用户名,或者修改到存储库的路径,如username@host(根据上面的钥匙圈链接)回答得好,明确的方法。如果您使用web代理,那么保存用户名和密码如何?正确的方法是使用auth部分来配置用户名。您的回购路径中不应该有身份验证信息,例如
[auth]\n bitbucket.org.prefix=bitbucket.org\n bitbucket.org.username=schlamar
这是一个错误的答案!您不应该在任何文件中存储明文密码。。。!!使用mercurial_keyring的另一个选项(拥有更多选票)是唯一正确的选择+1.考虑到
hg push
是非破坏性的(您总是可以
hg strip
不需要的变更集),将其推送到远程存储库几乎不是一个高度特权的操作。因此,只要知道安全隐患,明文密码存储通常是完全足够的。问题不在于有人会无可挽回地损坏存储库。问题是:(1)人们重复使用密码,因此一旦有人设法访问这个文本文件,他们就能够访问不相关的资源;(2) 任意黑客可能潜入源代码。。。(3) 代码可能是秘密的(并非所有的开发都是开源的),被盗并不总是有趣的。@max 1)理论上可能是真的,但OP明确表示他使用的是自动生成的密码2)版本控制阻止了这一点,你可以看到签入的所有更改,这怎么会是一个问题?3) 如果有人可以访问存储在您计算机上的明文密码,他们也可以访问您的代码。密码在这里没有意义,因为他们可以将您的代码转储到加密狗上。@LarsCorneliussen这不是一个坏答案。并非每个用例都需要这种级别的安全性。密钥环扩展是一个选项,就像这样。永远不要以纯文本形式存储密码。从未!使用mercurial_keyring-TortoiseHG只要求输入一次密码。永远不要说永不:)是的,SSH密钥比keyring更可取,keyring比明文更可取,但确实有不同的情况。P.S.更新了“keyring”答案和这个答案。看起来这还以明文形式存储密码-如果您启用了keyring扩展,那么如果您使用https协议,密码字段将无法工作,当设置为http时挂锁将消失。接受的旧答案很糟糕,这应该有绿色的chekky!