new 'bugs' property of revision breaks bundle compatibility with old bzr
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
High
|
John A Meinel |
Bug Description
Alexander Belchenko пишет:
> > Alexander Belchenko ?8H5B:
>> >> When I try to pull this bundle[1] I get error:
> >
>> >> Inventory sha hash mismatch for revision <email address hidden>.
>> >> 430cf9661d64e94
>> >> bzr: ERROR: Testament did not match expected value.
>> >> For revision_id {<email address hidden>}, expected
>> >> {5e770fb6b106d0
>> >> {0d6e80b020b551
> >
>> >> The bundle created with bzr 0.14 + my gzipped_bundle plugin. Any ideas why it fails?
>> >> I regularly update my mirror of bzr.dev and create bundle to update my home computer,
>> >> and before it always works OK.
> >
> > History continue. I copy my patch with trivial fix for HACKING on my server and try to pull
> > it to my http://
> >
> > bzr: ERROR: Testament did not match expected value.
> > For revision_id {<email address hidden>}, expected
> > {b459fa9ba096e5
> > {4cfab1f4864945
> >
> > As I see old bzr and new bzr don't understand bundles of each other.
> >
> > It's the regression for me. Can we fix it before 0.16 out?
Probably I found the root of the bug.
If you look at the end of bundle with patch for hacking you could see:
# properties:
# bugs:
# branch-nick: trivial
The 'bugs' appears in revno.2446, I believe.
Revno.2445 does not have such property.
I uncommit my changes and commit it again with bzr.dev.revno.2445.
Then I did new bundle and it pulled with bzr.0.14 without problem.
It seems that support for bugs in commit breaks compatibility
in bundles with old bzr.
Related branches
Changed in bzr: | |
importance: | Undecided → High |
Changed in bzr: | |
status: | Unconfirmed → Confirmed |
Changed in bzr: | |
status: | Fix Committed → Fix Released |
Alexander Belchenko wrote: 3bc4a6e333ee67a 4fa7a454d1 != e18233b25d8b2a8 a98f92a759329b0 323aceccc9 0dcc92f89317ddf 47c26ee51be} , measured c26c62499af3ff9 8d645747ddc} bzrdev. bialix. com/trivial branch. I got similar error: f571d0cb52c0e6f 1540e8c016f} , measured b4cf161ecd0c874 254bc17c7f3}
> Public bug reported:
>
> Alexander Belchenko пишет:
>>> Alexander Belchenko ?8H5B:
>>>>> When I try to pull this bundle[1] I get error:
>>>>> Inventory sha hash mismatch for revision <email address hidden>.
>>>>> 430cf9661d64e94
>>>>> bzr: ERROR: Testament did not match expected value.
>>>>> For revision_id {<email address hidden>}, expected
>>>>> {5e770fb6b106d0
>>>>> {0d6e80b020b551
>>>>> The bundle created with bzr 0.14 + my gzipped_bundle plugin. Any ideas why it fails?
>>>>> I regularly update my mirror of bzr.dev and create bundle to update my home computer,
>>>>> and before it always works OK.
>>> History continue. I copy my patch with trivial fix for HACKING on my server and try to pull
>>> it to my http://
>>>
>>> bzr: ERROR: Testament did not match expected value.
>>> For revision_id {<email address hidden>}, expected
>>> {b459fa9ba096e5
>>> {4cfab1f4864945
>>>
>>> As I see old bzr and new bzr don't understand bundles of each other.
>>>
>>> It's the regression for me. Can we fix it before 0.16 out?
>
> Probably I found the root of the bug.
> If you look at the end of bundle with patch for hacking you could see:
>
> # properties:
> # bugs:
> # branch-nick: trivial
>
> The 'bugs' appears in revno.2446, I believe.
> Revno.2445 does not have such property.
> I uncommit my changes and commit it again with bzr.dev.revno.2445.
> Then I did new bundle and it pulled with bzr.0.14 without problem.
>
> It seems that support for bugs in commit breaks compatibility
> in bundles with old bzr.
Well, older clients don't understand the 'bugs:' revision property.
I think the real answer is that we shouldn't be creating a 'bugs:'
property unless there are actual bugs mentioned. ie, if the string is
empty, it should not be set. I wish I would have caught that earlier.
Right now we are now creating:
<property name="bugs" />
=== modified file 'bzrlib/ builtins. py'
selected_ list = []
--- bzrlib/builtins.py 2007-04-23 07:50:15 +0000
+++ bzrlib/builtins.py 2007-04-24 14:23:10 +0000
@@ -2157,7 +2157,10 @@
# selected-file merge commit is not done yet
- properties['bugs'] = self._get_ bug_fix_ properties( fixes, bug_fix_ properties( fixes, tree.branch)
tree.branch)
+ bug_property = self._get_
+ if bug_property:
+ # Only add the property if we have actual bug fixes
+ properties['bugs'] = bug_property
if local and not tree.branch. get_bound_ location( ): LocalRequiresBo undBranch( )
raise errors.
John
=:->