我必须编写一个脚本,以便从mercurial repo中自动提取。无论如何,我可以执行hg pull -u
,其中包括在同一个命令中传递请求的用户名和密码?我知道有一个交互方法是默认行为,我不想将用户名和密码保存在hgrc或其他地方,因为它会被多个用户使用,所以有没有办法通过用户名和密码命令行? 我尝试在PHP中使用proc_open
,但这并不如STDIN的回应。Mercurial(HG)拉取参数:用户名和密码
回答
我发现了两个解决方案:
1。明确提供的网址,其中包括完整的凭据:
hg pull -u https://user:[email protected]/path
2.提供--config凭证,使用*作为前缀(从维克多的答案):
hg pull -u --config auth.x.prefix=* --config auth.x.username=user --config auth.x.password=pass
不错,这两个工作:) – radtek
您可能能够使用--config
开关是这样做的:
hg --config auth.username=USERNAME --config auth.password=PASSWORD pull -u
我个人从来没有这样做,但希望这有助于。
没有不工作,忽略无效的[认证]键'用户名' 忽略无效[认证]键'密码' – radtek
在命令行上传递密码是不安全因为其他用户可以使用ps
以及类似的方法查看它。你应该做的是两种:
沟通与
hg
你得到proc_open
回水管。您需要仔细分析Mercurial的输出,并在stdin上提供用户名和密码。运行水银为:hg --config ui.interactive=yes
,以确保它会跟你 - 否则恐怕它检测到没有TTY并不会提示您在所有。
用
[auth]
section编写一个临时配置文件。它看起来是这样的:[auth] x.prefix = output of "hg paths default" x.username = USERNAME x.password = PASSWORD
(该
x
并不重要,它可以是任何东西。) 确保文件仅仅是你正在运行脚本的用户读取。然后设置HGRCPATH
环境变量指向该文件并执行Mercurial。完成后删除文件!
没有为command server一个libhg PHP library,但我没有看到有关用户名或密码在该库拉或克隆任何东西。图书馆工作正在进行中,但是当它更成熟时,我建议使用它。但现在上述方法应该可以帮助你。
解决方案2特定于存储库。做
[auth]
x.prefix = *
x.username = USERNAME
x.password = PASSWORD
使它适用于所有的存储库。另外,如果你把它放在“〜/ .hgrc”中,并给出600的权限,你就不必执行HGRCPATH技巧。只要把它留在那里。
这就是工作:
hg --config auth.rc.prefix=http://host/ --config auth.rc.username=user --config auth.rc.password=password pull -u http://host/full/path/to/repo
- 1. 在mercurial中设置用户的用户名和密码
- 2. Eclipse PDT和Hg(Mercurial)
- 3. SourceTree - Mercurial - 身份验证 - 每次请求用户名和密码?
- 4. 获取用户名和密码
- 5. 从URI获取用户名和密码
- 6. 获取Windows用户名和密码
- 7. 从HttpServletRequest获取用户名和密码
- 8. spring-ws获取用户名和密码
- 9. android获取facebook用户名和密码
- 10. 使用git拉用户名和密码aws代码提交
- 11. 通行证用户名密码拉
- 12. 用户名和密码
- 13. Multyvac用户名和密码
- 14. phpmyadmin用户名和密码
- 15. 的用户名和密码
- 16. 如何用mongoskin指定个人用户名和密码参数?
- 17. 输入数据(用户名和密码)
- 18. Java数据库用户名和密码
- 19. TeamCity设置为从HG(Mercurial)中拉出
- 20. Mercurial,Apache,Windows,mod_auth_sspi和hg push
- 21. Crystal Report动态参数提示用户名和密码
- 22. 在HTTP GET查询参数中传递用户名和密码
- 23. MySQL的脚本,输入用户名和密码作为参数
- 24. Mercurial hg merge default
- 25. 获取mercurial“hg commit”使用Notepad ++
- 26. 使用PHP来匹配用户名和密码与HTML下拉
- 27. 如何编码用户名和密码?
- 28. 用户名和密码的java代码
- 29. 通过用户名和密码与Laravel获取用户
- 30. SQLite3读取数据库的用户名和密码
为什么不使用SSH密钥? –