When I run bzr diff -r ancestor:sftp://url-to-my-ancestor-branch I get a patch of all my work since branching from that ancestor (although, while I'm posting this I'd like to beg for an easier way to do this that doesn't involve having to enter the full branch name!).
However, when I run the command as: bzr diff -r ancestor:bzr+ssh://url-to-my-ancestor-branch then bzr fails with the following output:
bzr: ERROR: exceptions.AttributeError: 'RemoteRepository' object has no attribute '_make_parents_provider'
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 477, in run_argv_aliases
return self.run(**all_cmd_args)
File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 789, in ignore_pipe
result = func(*args, **kwargs)
File "/usr/lib/python2.5/site-packages/bzrlib/builtins.py", line 1497, in run
old_label=old_label, new_label=new_label)
File "/usr/lib/python2.5/site-packages/bzrlib/diff.py", line 359, in diff_cmd_helper
old_tree = spec_tree(old_revision_spec)
File "/usr/lib/python2.5/site-packages/bzrlib/diff.py", line 341, in spec_tree
revision = spec.in_store(tree.branch)
File "/usr/lib/python2.5/site-packages/bzrlib/revisionspec.py", line 225, in in_history
return self._match_on_and_check(branch, revs)
File "/usr/lib/python2.5/site-packages/bzrlib/revisionspec.py", line 207, in _match_on_and_check
info = self._match_on(branch, revs)
File "/usr/lib/python2.5/site-packages/bzrlib/revisionspec.py", line 630, in _match_on
return self._find_revision_info(branch, self.spec)
File "/usr/lib/python2.5/site-packages/bzrlib/revisionspec.py", line 644, in _find_revision_info
graph = branch.repository.get_graph(other_branch.repository)
File "/usr/lib/python2.5/site-packages/bzrlib/repository.py", line 1033, in get_graph
[parents_provider, other_repository._make_parents_provider()])
AttributeError: 'RemoteRepository' object has no attribute '_make_parents_provider'
bzr 0.90.0 on python 2.5.1.final.0 (linux2)
arguments: ['/usr/bin/bzr', 'diff', '-r', 'ancestor:bzr+ssh://url-to-my-ancestor-branch/']
Sounds like we are using an api on Repository that isn't actually tested by the 'repository_ implementations ' tests. And RemoteRepository never had it implemented.