bzr qdiff calls on global option 'change' only available in bzr >= 0.91

Bug #162875 reported by Joseph Wakeling
4
Affects Status Importance Assigned to Milestone
QBzr
Fix Released
Critical
Lukáš Lalinský

Bug Description

bzr qdiff (from qbzr 0.7.0) fails when working with bzr 0.90 with the following traceback:

-------------------------------------------
bzr: ERROR: exceptions.KeyError: 'change'

Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 817, in run_bzr_catch_errors
    return run_bzr(argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 779, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 462, in run_argv_aliases
    args, opts = parse_args(self, argv, alias_argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 557, in parse_args
    parser = option.get_optparser(command.options())
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 426, in options
    o = option.Option.OPTIONS[o]
KeyError: 'change'

bzr 0.90.0 on python 2.5.1.final.0 (linux2)
arguments: ['/usr/bin/bzr', 'qdiff']
-------------------------------------------

The option 'change' is only available in bzr 0.91/0.92.

I guess either the package dependencies need to be updated or the reliance on this option needs to be removed ... ?

Related branches

description: updated
Revision history for this message
Alexander Belchenko (bialix) wrote :

This is not actually "bug" in QBzr. But it should be fixed.
I see several ways to fix it.
1) Provide more precise information in QBzr description about supported version of bzr and leave it as is.
2) Check version info of QBzr and bzrlib to decide is it match or not (as in bzrtools). We also could start to make releases in sync with bzr, as bzrtools and bzr-gtk do.
3) Re-implement 'change' option inside QBzr to support older version of bzr.

Make releases in sync with bzr not big deal (at least for me) because I anyway build windows installers for bzr itself.

Changed in qbzr:
importance: Undecided → High
status: New → Confirmed
Changed in qbzr:
milestone: none → 0.7.1
Revision history for this message
Lukáš Lalinský (luks) wrote :

I think the ideal solution would be to check whether bzrlib.options contains the change option. #2 is definitely out of question, I had to remove these checks from bzrtools or bzr-svn far too often. I'm in hostipal right now, so I don't know if I will have time to do this, but I'd like to have a 0.7.1 release with this fix asap.

Revision history for this message
Alexander Belchenko (bialix) wrote : Re: [Bug 162875] Re: bzr qdiff calls on global option 'change' only available in bzr >= 0.91

Lukáš Lalinský пишет:
> I think the ideal solution would be to check whether bzrlib.options
> contains the change option. #2 is definitely out of question, I had to
> remove these checks from bzrtools or bzr-svn far too often. I'm in
> hostipal right now, so I don't know if I will have time to do this, but
> I'd like to have a 0.7.1 release with this fix asap.

I have idea to add 'change' option to qdiff options list based on the
check either of bzrlib version of global namespace of bzrlib.option
module. IMO, it's simplest and safest solution so far.

P.S. I hope nothing serious with you. I wish you'll get better soon.

Changed in qbzr:
importance: High → Critical
Lukáš Lalinský (luks)
Changed in qbzr:
assignee: nobody → luks
status: Confirmed → Fix Committed
Changed in qbzr:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.