我正在开发一个执行持续集成的系统,我正在寻找一种方法,可用于从Mercurial存储库获取最新的变更集,而无需在本地创建存储库。
我考虑过使用clone
,但只有在本地设置工作目录时才会使用此方法(因为这将在构建服务器上进行,因此我不希望这样做,因为包含了{ {1}}文件和差异 - 我想要的只是从最新修订版本中导出文件,仅此而已。)
这个请求甚至可能不可能,而且我很可能不太了解DVCS。但是,如果我不能做我想做的事情,是否有解决方法?
答案 0 :(得分:4)
根据远程存储库的设置方式,可以使用“hg archive”。
如果使用hgweb.cgi
或hg 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
获取特定文件。