I can reproduce this with trunk qbzr and explorer. Setting BZR_PDB lets you see a traceback along the lines of:
...\bzrlib\plugins\explorer\lib\commands.py(164)run() -> app.exec_() ...\bzrlib\plugins\explorer\lib\view_repository.py(247)do_double_clicked() -> self.do_open_location() ...\bzrlib\plugins\explorer\lib\view_repository.py(189)do_open_location() -> abspath = self._get_abspath(self._relpath) ...\bzrlib\plugins\explorer\lib\view_repository.py(243)_get_abspath() -> return self._get_root_transport().abspath(relpath) ...\bzrlib\transport\local.py(110)abspath() -> path = osutils.normpath(osutils.pathjoin( > ...\bzrlib\urlutils.py(536)unescape() -> raise errors.InvalidURL(url, 'URL was not a plain ASCII url: %s' % (e,))
So it seems bzr-explorer is violating a bzrlib expectation about how urls should be formed. I think there must be a bug in the qbzr error handling as well as the traceback doesn't end up in .bzr.log for some reason.
I can reproduce this with trunk qbzr and explorer. Setting BZR_PDB lets you see a traceback along the lines of:
...\bzrlib\ plugins\ explorer\ lib\commands. py(164) run() plugins\ explorer\ lib\view_ repository. py(247) do_double_ clicked( ) open_location( ) plugins\ explorer\ lib\view_ repository. py(189) do_open_ location( ) abspath( self._relpath) plugins\ explorer\ lib\view_ repository. py(243) _get_abspath( ) root_transport( ).abspath( relpath) transport\ local.py( 110)abspath( ) normpath( osutils. pathjoin( urlutils. py(536) unescape( ) InvalidURL( url, 'URL was not a plain ASCII url: %s' % (e,))
-> app.exec_()
...\bzrlib\
-> self.do_
...\bzrlib\
-> abspath = self._get_
...\bzrlib\
-> return self._get_
...\bzrlib\
-> path = osutils.
> ...\bzrlib\
-> raise errors.
So it seems bzr-explorer is violating a bzrlib expectation about how urls should be formed. I think there must be a bug in the qbzr error handling as well as the traceback doesn't end up in .bzr.log for some reason.