有没有办法以编程方式从Java中的远程Mercurial存储库下载单个文件?我问了一个very similar question regarding git;现在我希望我也可以用mercurial做类似的事情。
hg
。根据我对Mercurial如何工作的理解 - 允许仅针对本地存储库 - 这可能会成为问题;但是我能够用类似的Git SCM做到这一点,我希望Mercurial也有解决方案。
mercurial wire protocol没有从远程存储库读取单个文件的命令。这就是为什么hg
命令行客户端也不能这样做的原因。这个想法是你应该总是为这样的东西做一个本地克隆。
但是,mercurial的各种Web界面通常都有一种获取文件内容的方法。例如,对于bitbucket存储库,URL如下所示:
http://bitbucket.org/<user>/<project>/raw/<revision>/<filename>
对于hg serve
Web界面,URL如下所示:
http://<host>:<port>/raw-file/<revision>/<filename>
Bitbucket REST API是您想要的工具。
https://api.bitbucket/1.0/repositories/{USER}/{REPO-NAME}/raw/tip/{PATH/TO/FILE}
他们的docs示例:
您可以获取原始文件,而不是将文件格式化为JSON:
$ curl https://api.bitbucket.org/1.0/repositories/jespern/django-piston/raw/tip/piston/utils.py从django.http导入时间导入HttpResponseNotAllowed,HttpResponseForbidden,HttpResponse,来自django.core的HttpResponseBadRequest ....