我如何"结帐"从远程mercurial存储库?

时间:2014-08-23 09:29:01

标签: mercurial

我正在设置一个专用的构建服务器,它需要从远程hg服务器(由hg服务器提供服务)签出(提示,或者理想情况下是特定分支的头部)。

如果可能的话,我想避免克隆整个存储库,因为我正在使用docker并且希望尽可能地保持容器并简单地检查最新/命名的分支。

2 个答案:

答案 0 :(得分:0)

您无法在任何 DVCS中获得仅需版本,而使用远程Mercurial存储库则无法执行任何操作,只能克隆到本地存储库。

但是你的任务略有不同:你必须拥有一些部署工具,它将最新的更改从repository-host传输到build-host - 并且必须执行此操作(如果你想避免完全克隆)在存储库方面。也就是说,你可以(如果你有权利)hg archive(或者,扩展名 - hg exportfiles | hg ftp)需要从存储库转换到一些临时树和转移(使用任何可能的技术 - ftp, scp,rsync)到build-server上的最终目标

答案 1 :(得分:0)

如果您正在运行hgweb,如果您使用的是hg serve,那么您可以访问存档URL,例如:/archive/tip.tar.gz,这会让您获得提示的tarball 。例如,Mercurial自己的repo的tip.tar.gz位于https://www.mercurial-scm.org/repo/hg/archive/tip.tar.gz

重要的是要注意,此不是克隆。你不能在那里做本地的hg命令 - 你不能hg taghg id或任何常见的事情构建系统。

更常见的是将本地克隆保留在docker容器之外,并将该fs共享到容器中以进行构建。这就是我们在工作中所做的事情。