sdaau
sdaau

Reputation: 38641

How to hg bundle only changes in a branch?

I have tried this:

$ hg bundle -b my-branch ../my-branch-bundle.hg
searching for changes
no changes found

Then this:

$ hg bundle --all --branch my-branch ../my-branch-bundle.hg
7191 changesets found

... but my branch has only 3 commits? Then also this:

$ hg bundle --base null --branch my-branch ../my-branch-bundle.hg
7191 changesets found

How to hg bundle only the changes for a given branch?!

Upvotes: 2

Views: 348

Answers (1)

Mark Tolonen
Mark Tolonen

Reputation: 177901

hg bundle bundles each specified revision (-r) and assumes the destination repository has all the revisions (and their ancestors) specified by the --base option.

So one way to get only a small branch of 3 changesets is to specify with --base the first changeset branched from, and specify of the first changeset of the branch and its descendants.

For example, given:

o  changeset:   5:f429f686e698
|  branch:      test
|
o  changeset:   4:e02923c7302b
|  branch:      test
|
o  changeset:   3:076f442d4d3b
|  branch:      test
|
| @  changeset:   2:dab4279642cb
|/
o  changeset:   1:233d09b80d63
|
o  changeset:   0:6818527e85ac

Use:

hg bundle --base 1 --rev heads(descendants(3)) 

Upvotes: 2

Related Questions