BZR causes numerous problems when the directory path to a bzr branch changes between actions. I experience this in two ways:
1) I access the same bzr branch from both Windows, at C:/some/path, and from Linux, at /media/lubuntu/windows/some/path.
2) I move a bzr branch using conventional file system tools.
Bazaar seems to keep a record of what path the branch is at, and if that path is not accessible, it raises an error.
This error is simple:
bzr: ERROR: Not a branch: "/media/lubuntu/NCP-THUMB3/t/skcomp/"
In the past, I thought I worked around this by manually editing .bzr/branch.conf or some such.
This time, I didn't see that file, so I manually edited .bzr/branch/location to match the current location of the branch. I received the following error:
bzr: ERROR: exceptions.RuntimeError: maximum recursion depth exceeded in cmp
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 930, in exception_to_return_code
return the_callable(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 1121, in run_bzr
ret = run(*run_argv)
File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 673, in run_argv_aliases
return self.run(**all_cmd_args)
File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 697, in run
return self._operation.run_simple(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/cleanup.py", line 136, in run_simple
self.cleanups, self.func, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/cleanup.py", line 166, in _do_with_cleanups
result = func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 1138, in ignore_pipe
result = func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/builtins.py", line 1853, in run
verbose=noise_level, outfile=self.outf)
File "/usr/lib/python2.7/dist-packages/bzrlib/info.py", line 352, in show_bzrdir_info
recommend_upgrade=False)
File "/usr/lib/python2.7/dist-packages/bzrlib/bzrdir.py", line 1095, in open_workingtree
return format.open(self, _found=True)
File "/usr/lib/python2.7/dist-packages/bzrlib/workingtree_4.py", line 1595, in open
wt = self._open(a_bzrdir, self._open_control_files(a_bzrdir))
File "/usr/lib/python2.7/dist-packages/bzrlib/workingtree_4.py", line 1605, in _open
branch=a_bzrdir.open_branch(),
File "/usr/lib/python2.7/dist-packages/bzrlib/bzrdir.py", line 1079, in open_branch
possible_transports=possible_transports)
File "/usr/lib/python2.7/dist-packages/bzrlib/branch.py", line 2274, in open
possible_transports=possible_transports)
...
These 4 lines repeated many times over:
File "/usr/lib/python2.7/dist-packages/bzrlib/bzrdir.py", line 1079, in open_branch
possible_transports=possible_transports)
File "/usr/lib/python2.7/dist-packages/bzrlib/branch.py", line 2274, in open
possible_transports=possible_transports)
...
File "/usr/lib/python2.7/dist-packages/bzrlib/bzrdir.py", line 1079, in open_branch
possible_transports=possible_transports)
File "/usr/lib/python2.7/dist-packages/bzrlib/branch.py", line 2274, in open
possible_transports=possible_transports)
File "/usr/lib/python2.7/dist-packages/bzrlib/bzrdir.py", line 1079, in open_branch
possible_transports=possible_transports)
File "/usr/lib/python2.7/dist-packages/bzrlib/branch.py", line 2272, in open
location, possible_transports=possible_transports)
File "/usr/lib/python2.7/dist-packages/bzrlib/controldir.py", line 689, in open
_unsupported=_unsupported)
File "/usr/lib/python2.7/dist-packages/bzrlib/controldir.py", line 723, in open_from_transport
return format.open(transport, _found=True)
File "/usr/lib/python2.7/dist-packages/bzrlib/bzrdir.py", line 1486, in open
return self._open(transport)
File "/usr/lib/python2.7/dist-packages/bzrlib/bzrdir.py", line 1694, in _open
return BzrDirMeta1(transport, format)
File "/usr/lib/python2.7/dist-packages/bzrlib/bzrdir.py", line 851, in __init__
super(BzrDirMeta1, self).__init__(_transport, _format)
File "/usr/lib/python2.7/dist-packages/bzrlib/bzrdir.py", line 638, in __init__
self.transport = _transport.clone('.bzr')
File "/usr/lib/python2.7/dist-packages/bzrlib/transport/local.py", line 86, in clone
return LocalTransport(abspath)
File "/usr/lib/python2.7/dist-packages/bzrlib/transport/local.py", line 67, in __init__
super(LocalTransport, self).__init__(base)
File "/usr/lib/python2.7/dist-packages/bzrlib/transport/__init__.py", line 331, in __init__
urlutils.split_segment_parameters(base))
File "/usr/lib/python2.7/dist-packages/bzrlib/urlutils.py", line 536, in split_segment_parameters
(base_url, subsegments) = split_segment_parameters_raw(url)
File "/usr/lib/python2.7/dist-packages/bzrlib/urlutils.py", line 522, in split_segment_parameters_raw
lurl = strip_trailing_slash(url)
File "/usr/lib/python2.7/dist-packages/bzrlib/urlutils.py", line 621, in strip_trailing_slash
if sys.platform == 'win32' and url.startswith('file://'):
RuntimeError: maximum recursion depth exceeded in cmp
bzr 2.7.0 on python 2.7.11 (Linux-4.4.0-21-generic-i686-with-
Ubuntu-16.04-xenial)
arguments: ['/usr/bin/bzr', 'info']
plugins: bash_completion[2.7.0], changelog_merge[2.7.0], git[0.6.12],
grep[2.7.0], launchpad[2.7.0], netrc_credential_store[2.7.0],
news_merge[2.7.0], po_merge[2.7.0], weave_fmt[2.7.0]
encoding: 'utf-8', fsenc: 'UTF-8', lang: 'en_US.UTF-8'