bundle/unbundle

Matt Mackall mpm at selenic.com
Fri Apr 27 09:52:33 CDT 2007


On Fri, Apr 27, 2007 at 11:50:31AM +0530, Deva Prasad wrote:
> Hi Everybody,
> 
> I am a newbie to Mercurial . So bear with me if it's too small but I
> couldn't get any info on mailing list archive. Please let me know if I am
> posting this query to a wrong forum.
> 
> I know that Mercurial doesn't allow partial pulls. But I have a situation
> where I want to pull only a particular jar file (not a simple text file). I
> tried using import/export for a text file and it works. But when I try to
> use it for jar file , it fails with error : nothing found other than garbage
> in the patch file.
> 
> So next option was using bundle/unbundle.  I am using the following command:
> 
> hg bundle -r <changeset number> ./bundle.hg (where changeset number is my
> latest changeset number)

If that had succeeded, it wouldn't have been what you wanted,
probably. By default, bundle bundles all outgoing revisions to your
default repo. Adding -r <rev> restricts the bundle to ancestors of
<rev> (inclusive). You can bundle a specific set of revisions with:

hg bundle --base <ancestor> -r <child> -r <child> ... bundle.hg

..where <ancestor> is *not* included. But this will only send
changeset deltas so if the remote repo doesn't have <ancestor>, you
won't be able to unbundle it.

> RuntimeError: wrong sequence of bz2 library commands used
> Segmentation Fault(core dumped)

What OS and Python version are you using? I can't reproduce this bug here.

I'm confused what you're trying to accomplish. You said "pull a single
file". But if you already have access to do bundle on the remote
machine, why not simply copy the file? There are about a dozen ways to
do that:

hg cat -r tip file.jar > file.jar
ssh hg -R repo cat -r tip file.jar > file.jar
hg archive -t zip -r tip -I file.jar file.jar.tgz
wget http://repo/file-raw/tip/file.jar
...

Also you can pull particular revisions with:

hg pull -r <rev>

-- 
Mathematics is the supreme nostalgia of our time.


More information about the Mercurial mailing list