【问题标题】:How can I pass my remote username and password directly into hg outgoing?如何将我的远程用户名和密码直接传递到 hg 传出?
【发布时间】:2019-02-04 19:25:58
【问题描述】:

我有一个存储库,我想撤消我分支上的所有本地提交,因为最近一次提交被拉下。我不想保存任何工作。

在做了一些研究后,我在SuperUser 上发现了以下内容:

hg --config "extensions.strip = " strip "roots(outgoing())"

请注意,我已添加 --config "extensions.strip = ",因为我没有启用条形扩展。

执行此命令后,它似乎已经知道我的远程用户名(不在我的 mercurial.ini 中)并提示输入我的远程密码 - 这似乎完全按照我的意愿运行。

我的问题是,如果我的用户名没有存储在我的 mercurial.ini 中,它是如何知道我的用户名的?更重要的是,如何将我的用户名和密码直接传递到我的命令中,这样我就可以提供不同的用户名并且它也不会提示我输入密码?

谢谢!

【问题讨论】:

  • 您确定在 mercurial.ini 的 [auth] 部分下没有任何内容吗?
  • @Arun 除了方括号中的行之外,它都被注释掉了
  • 您介意粘贴您的 mercurial.ini 吗?我的在这里:bitbucket.org/carun/dot-files/src/tip/mercurial.ini#lines-11[auth] 部分评论,THG 提示我输入用户名和密码。您使用的是哪个 hg 客户端以及您在哪个操作系统上?
  • @Arun 当然 - 这是我的 mercurial.ini:pastebin.com/rcbDUHb1 我只是在 Windows 10 中使用命令提示符窗口
  • 只有在处理未推送的变更集时才使用条带。如果你剥去已经被推的东西,它最终会被拉回来。

标签: mercurial


【解决方案1】:

您能否检查 repo 的 .hg/hgrc 以确认它是否没有任何凭据?如果您使用您的用户名(例如:http://username:password@ip:port/reponame)进行了克隆,它将保留在 repo 的配置中。

您可以在.hg/hgrc 中创建一个新的命名路径并将其传递给"roots(outgoing(newpath))"。这将达到您的预期。

【讨论】:

  • 这就是我克隆它的方式,是的,该文件中有凭据。那么我怎样才能将可能不同的传递到 hg strip 中呢?
  • hg strip 不将用户名作为输入,因为 strip 仅在本地 repo 上运行。 outgoing revset 是触发远程查询的那个。您可以更新.hg/hgrc 中的用户名以供使用。
  • 啊好吧 - 所以没有办法将用户名和密码直接传递到传出?
  • 您可以在.hg/hgrc 中创建一个新的命名路径并将其传递给"roots(outgoing(newpath))"
  • 不幸的是,这对我来说不是一个适用的答案,因为我想将它们直接传递给命令,几天后,如果我没有收到更多答案,我会将你的答案标记为回答我的问题
猜你喜欢
  • 1970-01-01
  • 2020-02-15
  • 1970-01-01
  • 2022-11-19
  • 1970-01-01
  • 1970-01-01
  • 2011-06-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多