开发者

Is it possible to get the latest set of files from Mercurial without creating a local repository?

I am working on a system that performs continuous integration and I am looking for a method I can use to get the most rec开发者_开发技巧ent changeset from a Mercurial repository without creating a repository locally.

I have considered using clone but this method will only work if you have set a working directory locally (since this will be occurring on a build server, I would prefer not to do this because of inclusion of the .hg file and the diffs - all I want is essentially an export of the files from the tip revision and nothing more.)

This request may not even be possible, and it's very likely that I just do not understand DVCS very well. However, if I cannot do what I want to do, is there a workaround?


It's possible using 'hg archive' depending how your remote repository is set up.

If it's available over HTTP using hgweb.cgi or hg serve you can hit the archive link programmatically to get the files you want. Example:

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

or it's available over ssh:

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


You can use:

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

From Mercurial's help files:

$ hg help archive

hg archive [OPTION]... DEST

create an unversioned archive of a repository revision


You can use:

http://merc/raw-file

to retrieve a list of files in the repository or

http://merc/raw-file/filename

to get a specific file.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜