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 <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Felipe Contreras 2013-04-30 20:09:58 -05:00 коммит произвёл Junio C Hamano
Родитель f38dfc4c32
Коммит 38e7167e9b
1 изменённых файлов: 7 добавлений и 1 удалений

Просмотреть файл

@ -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,