[RFC] adding information about compatibility between qbzr and bzr, and also perform some check while importing qbzr/lib/__init__.py

0 views
Skip to first unread message

Alexander Belchenko

unread,
May 31, 2010, 9:19:23 AM5/31/10
to qb...@googlegroups.com
Hi Gary,

I'd like to put following information to our README for all currently
supported versions:

Compatibility between qbzr and bzr versions
===========================================

* QBzr 0.14.x compatible with bzr 1.17, 1.18.x, 2.0.x.

* QBzr 0.18.x required bzr 2.1.x.
It may work with bzr 2.2 or later, but this is not guaranteed.

* QBzr 0.19 required bzr 2.2.
It may work with bzr 2.1.x, but this is not guaranteed.


Is it correct information from your POV?

Also I'd like to put some [loose] check for minimum bzr [api?] version,
and at least emit warning if there is api mismatch detected.

Per example, I've just ran selftest qbzr 0.14 with bzr 2.0, 2.1 and 2.2,
and every time I've got OK. But in fact qdiff does not work with 2.1:

C:\work\Bazaar\plugins\qbzr>bzr qdi
bzr: ERROR: exceptions.ImportError: cannot import name _get_trees_to_diff

Traceback (most recent call last):
File "C:\work\Bazaar\plugins\qbzr\lib\trace.py", line 286, in
reports_exception_decorate
File "C:\work\Bazaar\plugins\qbzr\lib\diffwindow.py", line 205, in
initial_load
File "C:\work\Bazaar\plugins\qbzr\lib\diffwindow.py", line 214, in
load_branch_info
File "C:\work\Bazaar\plugins\qbzr\lib\commands.py", line 374, in
get_diff_window_args
ImportError: cannot import name _get_trees_to_diff

bzr 2.1.1 on python 2.5.4 (Windows-XP-5.1.2600-SP3)
arguments: ['C:\\Program Files\\Bazaar\\bzr.EXE', 'qdi']
encoding: 'cp1251', fsenc: 'mbcs', lang: None
plugins:
acad C:\work\Bazaar\plugins\acad [0.8.0]
bookmarks C:\work\Bazaar\plugins\bookmarks [unknown]
bzrtools C:\Program Files\Bazaar\plugins\bzrtools [2.1.0]
colo C:\work\Bazaar\plugins\colo [0.2.0dev]
explorer C:\work\Bazaar\plugins\explorer [1.1.0dev]
fastimport C:\work\Bazaar\plugins\fastimport [0.9.0dev]
format1 C:\work\Bazaar\plugins\format1 [unknown]
launchpad C:\Program Files\Bazaar\plugins\launchpad [2.1.1]
qbzr C:\work\Bazaar\plugins\qbzr [0.14.6]
rebase C:\Program Files\Bazaar\plugins\rebase [0.5.5]
scmproj C:\work\Bazaar\plugins\scmproj [0.6.1]
svn C:\Program Files\Bazaar\plugins\svn [1.0.2]
x_bit C:\work\Bazaar\plugins\x_bit [1.0.0]

*** Bazaar has encountered an internal error. This probably indicates a
bug in Bazaar. You can help us fix it by filing a bug report at
https://bugs.launchpad.net/bzr/+filebug
including this traceback and a description of the problem.


So at least we have to show some hint to the user about incompatible bzr
version.

Alexander
--
All the dude wanted was his rug back

Gary van der Merwe

unread,
May 31, 2010, 9:53:08 AM5/31/10
to qb...@googlegroups.com
On 31/05/10 15:19, Alexander Belchenko wrote:
> Hi Gary,
>
> I'd like to put following information to our README for all currently
> supported versions:
....

> So at least we have to show some hint to the user about incompatible bzr
> version.

+1

> Compatibility between qbzr and bzr versions
> ===========================================
>
> * QBzr 0.14.x compatible with bzr 1.17, 1.18.x, 2.0.x.

but broken with 2.1.x. I would like to back port the fix for this.

> * QBzr 0.18.x required bzr 2.1.x.
> It may work with bzr 2.2 or later, but this is not guaranteed.

No. Works with bzr 1.17, 1.18.x, 2.0.x., 2.1.x.

> * QBzr 0.19 required bzr 2.2.
> It may work with bzr 2.1.x, but this is not guaranteed.

Does work with bzr 2.1.x

It would be really cool if we could have babune (or something like that)
to test different versions of bzr with the different versions of qbzr.

p.s.: This will help to check the versions in the future:
bzr qannotate __init__.py
Ctrl+l 98 Enter
Dbl click on the releases...
(Note that we only have minimum bzr version from qbzr 0.18)

Gary van der Merwe

unread,
May 31, 2010, 10:11:16 AM5/31/10
to qb...@googlegroups.com
On 31/05/10 15:53, Gary van der Merwe wrote:
> It would be really cool if we could have babune (or something like that)
> to test different versions of bzr with the different versions of qbzr.

Right now, our test suit would not pick up the errors that we are
seeing, but hopefully we will one day have such a test suit.

Alexander Belchenko

unread,
May 31, 2010, 10:14:57 AM5/31/10
to qb...@googlegroups.com
Gary van der Merwe пишет:

> On 31/05/10 15:19, Alexander Belchenko wrote:
>> Hi Gary,
>>
>> I'd like to put following information to our README for all currently
>> supported versions:
> ....
>> So at least we have to show some hint to the user about incompatible bzr
>> version.
>
> +1
>
>> Compatibility between qbzr and bzr versions
>> ===========================================
>>
>> * QBzr 0.14.x compatible with bzr 1.17, 1.18.x, 2.0.x.
>
> but broken with 2.1.x. I would like to back port the fix for this.

OK, so I'll remove mentions of 2.1. I'm not sure it's worth the efforts
to backport the fix, but it's up to you.

>
>> * QBzr 0.18.x required bzr 2.1.x.
>> It may work with bzr 2.2 or later, but this is not guaranteed.
>
> No. Works with bzr 1.17, 1.18.x, 2.0.x., 2.1.x.

I don't agree. Some parts of 0.18 code required 2.1 API, this is
mentioned in NEWS.

>
>> * QBzr 0.19 required bzr 2.2.
>> It may work with bzr 2.1.x, but this is not guaranteed.
>
> Does work with bzr 2.1.x

Yes, I'll change it.

>
> It would be really cool if we could have babune (or something like that)
> to test different versions of bzr with the different versions of qbzr.

I'm not sure our current test suite will help there. As I said currently
`bzr selftest -s bp.qbzr` is green for qbzr 0.14.6 and any bzr 2.0-2.2.

>
> p.s.: This will help to check the versions in the future:
> bzr qannotate __init__.py
> Ctrl+l 98 Enter
> Dbl click on the releases...
> (Note that we only have minimum bzr version from qbzr 0.18)
>

Alexander Belchenko

unread,
Aug 3, 2010, 8:06:42 AM8/3/10
to qb...@googlegroups.com
So, I'd like to propose the final version of compatibility text:

Compatibility between qbzr and bzr versions
===========================================

* QBzr 0.14.x compatible with bzr 1.17, 1.18.x, 2.0.x.

* QBzr 0.18.x required bzr 2.1.x.
Some commands/dialogs are working with bzr 1.17, 1.18.x, 2.0.x.


It may work with bzr 2.2 or later, but this is not guaranteed.

* QBzr 0.19 required bzr 2.2 and compatible with bzr 2.1.
It may not work with older versions of bzr.


Gary, if you have any objections, please say so.


Alexander Belchenko пишет:

Reply all
Reply to author
Forward
0 new messages