views:

189

answers:

2

We use bundles to synchronize our mercurial repositories over email.

For the past few hundred revisions, we've noticed the bundle size is typically around 600k, no matter what we include. It appears that Mercurial is including revisions other than what we're specifying. I theorized that it was from open branches, but closing all of our branches didn't fix it. When I create a bundle for the latest revision, it says that it includes 5 revisions.

I would normally expect our bundles to only be a few dozen kilobytes.

Under what circumstances would Mercurial include other revisions in a bundle?

+1  A: 

Have you looked inside the resulting bundles to see what changesets are in there. You can do that with the incoming command on the receiving repo. Here are some tips:

http://mercurial.selenic.com/wiki/LookingIntoBundles

Ry4an
Unfortunately, that doesn't work. It only shows the changesets that you don't have. If I make a bundle with a 1 character change, the resulting bundle is 600k. Using those commands either lists all revisions in the repository, or says "no changes found".
Jason Young
Sorry, perhaps I'm being dense but could you say which command is giving each of those results (none and all). You can only apply a bundle whose parents already exist in your repo, so trying to move over one changeset will require moving over many more if those many more aren't in the repo into which you're applying the bunddle.The import/export commands don't have the "parents must be there or come with" restriction but bundles do.I know email is your preferred connection mechanism, but have you tried import/export (or push/pull) directly between the repositories as an experiment?
Ry4an
The "in" (incoming) command only lists revisions that you don't have. In this case, that means none show up.The log command shows all revisions."cat" is for extracting a file.If I go direct to the other repository, it says it's up to date. Is there a command to view a bundle, regardless of what your current repository looks like?
Jason Young
Tried that -hg in bundle.hg - unknown parenthg -R bundle.hg log
Jason Young
To clarify, I get "unknown parent" for both of those commands.
Jason Young
Hrm, I think my init/incoming advice was bad. I'll delete it.I suspect you could get what you want by doing 'hg bundle' from the command line with explicit --base and --rev params. I don't know how to get there using tortoise hg.
Ry4an
A: 

Closing the branches may not be enough. Try closing, then merging the branch.

djc