是否可以在不创建本地存储库的情况下从Mercurial获取最新的文件集?

时间:2010-04-12 20:33:39

标签: mercurial continuous-integration

我正在开发一个执行持续集成的系统,我正在寻找一种方法,可用于从Mercurial存储库获取最新的变更集,而无需在本地创建存储库。

我考虑过使用clone,但只有在本地设置工作目录时才会使用此方法(因为这将在构建服务器上进行,因此我不希望这样做,因为包含了{ {1}}文件和差异 - 我想要的只是从最新修订版本中导出文件,仅此而已。)

这个请求甚至可能不可能,而且我很可能不太了解DVCS。但是,如果我不能做我想做的事情,是否有解决方法?

3 个答案:

答案 0 :(得分:4)

根据远程存储库的设置方式,可以使用“hg archive”。

如果使用hgweb.cgihg serve通过HTTP提供,则可以通过编程方式点击存档链接以获取所需的文件。例如:

wget https://www.mercurial-scm.org/repo/hg/archive/tip.zip --output-document=- | unzip -

或者它可以通过ssh获得:

ssh you@there.com hg archive --type=zip - | unzip -

答案 1 :(得分:2)

您可以使用:

$ hg clone http://your_repo
$ hg archive ../export/
$ rm -rf *
$ cd ..
$ cd export

来自Mercurial的帮助文件:

$ hg help archive
  

hg archive [OPTION] ... DEST

     

创建一个无版本的档案   存储库修订

答案 2 :(得分:1)

您可以使用:

http://merc/raw-file

检索存储库中的文件列表或

http://merc/raw-file/filename

获取特定文件。