Older versions of Bazaar allowed "bzr pull" to add nodes to the tip of your revision history, without renormalizing it. So if you had:
A
|\
B C
| |
D |
|/
E
A branch at E could have rh=A,B,D,E rn=4, or rh=A,C,E,rn=3
After about 0.8, we changed it so that 'pull' would always generate A,B,D,E
In 1.0 we changed 'pull' so that instead of doing:
target.set_revision_history(source.get_revision_history())
To doing:
target.set_last_revision_info(source.get_last_revision_info())
For <= dirstate branches (Branch5), set_last_revision_info regenerates the revision history from the repository. It then checks that the revno is correct. And as you notice, there is a mismatch.
Branch6 doesn't do the rebuild and check, (because it scales with O(history)).
So what we need is just an update to check/reconcile to fix this, and turn the error into a warning that you should run 'reconcile' on the source branch.
Older versions of Bazaar allowed "bzr pull" to add nodes to the tip of your revision history, without renormalizing it. So if you had:
A
|\
B C
| |
D |
|/
E
A branch at E could have rh=A,B,D,E rn=4, or rh=A,C,E,rn=3
After about 0.8, we changed it so that 'pull' would always generate A,B,D,E
In 1.0 we changed 'pull' so that instead of doing: set_revision_ history( source. get_revision_ history( )) set_last_ revision_ info(source. get_last_ revision_ info())
target.
To doing:
target.
For <= dirstate branches (Branch5), set_last_ revision_ info regenerates the revision history from the repository. It then checks that the revno is correct. And as you notice, there is a mismatch.
Branch6 doesn't do the rebuild and check, (because it scales with O(history)).
So what we need is just an update to check/reconcile to fix this, and turn the error into a warning that you should run 'reconcile' on the source branch.