【发布时间】:2013-04-22 11:16:58
【问题描述】:
如何检查 URL 是否指向 mercurial 存储库?使用 git,我会使用 git ls-remote $url 并检查返回值。 hg有类似的吗?
【问题讨论】:
标签: mercurial
如何检查 URL 是否指向 mercurial 存储库?使用 git,我会使用 git ls-remote $url 并检查返回值。 hg有类似的吗?
【问题讨论】:
标签: mercurial
您可以为此使用hg identify:它可以针对远程存储库运行,如果给定的路径不是存储库,Mercurial 将中止并退出代码 255。此存储库存在:
$ hg identify https://bitbucket.org/mg/mercurial-talk; echo $?
7788b512c5bd
0
这个没有:
$ hg identify https://bitbucket.org/mg/git-talk; echo $?
abort: HTTP Error 404: Not Found
255
您可能希望将 stdout 和 stderr 都重定向到 /dev/null。
【讨论】:
AFAIK,ls-remote(在 repo 中使用)和 Git-URL 显示从本地到此 URL 的引用,是吗?
如果您想知道 Mercurial 知道哪些远程存储库(未使用用于 push|pull,只有 知道),您可以使用 hg paths p>
如果你想定义一些随机的 URL,是否是 Mercurial repo,你至少可以尝试从这个 URL 克隆
【讨论】:
$url 指向一个有效的 git repo,git ls-remote $url 返回 true。我正在为 mercurial 寻找类似的东西,而无需创建克隆。