From 38e7167e9bdc57262c7298912c4bf9df4d68f6fe Mon Sep 17 00:00:00 2001 From: Felipe Contreras Date: Tue, 30 Apr 2013 20:09:58 -0500 Subject: remote-bzr: fixes for branch diverge If the branches diverge we want to reset the pointer to where the remote actually is. Since we can access remote branches just as easily as local ones, let's do so. Signed-off-by: Felipe Contreras Signed-off-by: Junio C Hamano --- contrib/remote-helpers/git-remote-bzr | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr index 6a7f836ea..bf254a078 100755 --- a/contrib/remote-helpers/git-remote-bzr +++ b/contrib/remote-helpers/git-remote-bzr @@ -354,6 +354,7 @@ def do_import(parser): if os.path.exists(path): print "feature import-marks=%s" % path print "feature export-marks=%s" % path + print "feature force" sys.stdout.flush() while parser.check('import'): @@ -716,7 +717,12 @@ def get_repo(url, alias): # pull d = bzrlib.bzrdir.BzrDir.open(clone_path) branch = d.open_branch() - result = branch.pull(remote_branch, [], None, False) + try: + result = branch.pull(remote_branch, [], None, False) + except bzrlib.errors.DivergedBranches: + # use remote branch for now + peer = None + return remote_branch else: # clone d = origin.sprout(clone_path, None, -- cgit v1.2.1