Not just randomly synchronize the revisions with no checks at all. This is the way bazaar's UI does it. Also, add a non-ff check. Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx> --- This patch should probably go to maint, as the results of pushing the way we currently push are not really understood. Perhaps it's similar to a 'git push --force', or perhaps it can potentially screw the repository. It's better to be safe and just do what bazaar does. contrib/remote-helpers/git-remote-bzr | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr index 8c316fe..cb8d081 100755 --- a/contrib/remote-helpers/git-remote-bzr +++ b/contrib/remote-helpers/git-remote-bzr @@ -639,12 +639,12 @@ def do_export(parser): for ref, revid in parsed_refs.iteritems(): if ref == 'refs/heads/master': repo.generate_revision_history(revid, marks.get_tip('master')) - revno, revid = repo.last_revision_info() if peer: - if hasattr(peer, "import_last_revision_info_and_tags"): - peer.import_last_revision_info_and_tags(repo, revno, revid) - else: - peer.import_last_revision_info(repo.repository, revno, revid) + try: + repo.push(peer, stop_revision=revid) + except bzrlib.errors.DivergedBranches: + print "error %s non-fast forward" % ref + continue else: wt = repo.bzrdir.open_workingtree() wt.update() -- 1.8.2.1 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html