git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 9/9] remote-bzr: use proper push method

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 26, 2013, 00:08 UTC
Message-ID
<1366934902-18704-10-git-send-email-felipe.contreras@gmail.com>
In-Reply-To
<1366934902-18704-1-git-send-email-felipe.contreras@gmail.com>
Do not just randomly synchronize the revisions with no checks at all.

I don't have any evidence that there's anything wrong with the current code, which Bazaar seems to use, but for different purposes. Let's use the logic Bazaar UI uses to avoid surprises.

Also, add a non-ff check.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 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 9f56297..c19ed0e 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.884.g3532a8d
Previous: Felipe Contreras
Message 13 of 13 in “remote-helpers: fixes and cleanups”
  1. 0/9 remote-helpers: fixes and cleanupsFelipe Contreras, Apr 26, 2013
  2. 1/9 remote-helpers: trivial cleanupsFelipe Contreras, Apr 26, 2013
  3. 2/9 remote-hg: remove extra checkFelipe Contreras, Apr 26, 2013
  4. 3/9 remote-bzr: fix bad state issueFelipe Contreras, Apr 26, 2013
  5. 4/9 remote-bzr: add support to push URLsFelipe Contreras, Apr 26, 2013
  6. 5/9 remote-hg: use hashlib instead of hg sha1 utilFelipe Contreras, Apr 26, 2013
  7. 6/9 remote-bzr: store converted URLFelipe Contreras, Apr 26, 2013
  8. John SzakmeisterApr 26, 2013
  9. Felipe ContrerasApr 26, 2013
  10. 7/9 remote-bzr: tell bazaar to be quietFelipe Contreras, Apr 26, 2013
  11. John SzakmeisterApr 26, 2013
  12. 8/9 remote-bzr: strip extra newlineFelipe Contreras, Apr 26, 2013
  13. 9/9 remote-bzr: use proper push methodFelipe Contreras, Apr 26, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.