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

[PATCH v2 09/13] remote-hg: refactor export

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 4, 2013, 15:30 UTC
Message-ID
<1365089422-8250-10-git-send-email-felipe.contreras@gmail.com>
In-Reply-To
<1365089422-8250-1-git-send-email-felipe.contreras@gmail.com>
No functional changes.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 contrib/remote-helpers/git-remote-hg | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg
index 6901689..c741f13 100755
--- a/contrib/remote-helpers/git-remote-hg
+++ b/contrib/remote-helpers/git-remote-hg
@@ -9,7 +9,7 @@
 # Then you can clone with:
 # git clone hg::/path/to/mercurial/repo/
 
-from mercurial import hg, ui, bookmarks, context, util, encoding
+from mercurial import hg, ui, bookmarks, context, util, encoding, node
 
 import re
 import sys
@@ -60,6 +60,9 @@ def hgmode(mode):
     m = { '100755': 'x', '120000': 'l' }
     return m.get(mode, '')
 
+def hghex(node):
+    return hg.node.hex(node)
+
 def get_config(config):
     cmd = ['git', 'config', '--get', config]
     process = subprocess.Popen(cmd, stdout=subprocess.PIPE)
@@ -705,19 +708,18 @@ def do_export(parser):
 
     for ref, node in parsed_refs.iteritems():
         if ref.startswith('refs/heads/branches'):
-            pass
+            print "ok %s" % ref
         elif ref.startswith('refs/heads/'):
             bmark = ref[len('refs/heads/'):]
             p_bmarks.append((bmark, node))
-            # handle below
             continue
         elif ref.startswith('refs/tags/'):
             tag = ref[len('refs/tags/'):]
             parser.repo.tag([tag], node, None, True, None, {})
+            print "ok %s" % ref
         else:
             # transport-helper/fast-export bugs
             continue
-        print "ok %s" % ref
 
     if peer:
         parser.repo.push(peer, force=False)
@@ -725,6 +727,7 @@ def do_export(parser):
     # handle bookmarks
     for bmark, node in p_bmarks:
         ref = 'refs/heads' + bmark
+        new = hghex(node)
 
         if bmark in bmarks:
             old = bmarks[bmark].hex()
@@ -733,10 +736,11 @@ def do_export(parser):
 
         if bmark == 'master' and 'master' not in parser.repo._bookmarks:
             # fake bookmark
-            print "ok %s" % ref
-            continue
-
-        if not bookmarks.pushbookmark(parser.repo, bmark, old, node):
+            pass
+        elif bookmarks.pushbookmark(parser.repo, bmark, old, new):
+            # updated locally
+            pass
+        else:
             print "error %s" % ref
             continue
 
-- 
1.8.2
Previous: Felipe ContrerasNext: Felipe Contreras
Message 11 of 30 in “remote-hg: general updates”
  1. 00/13 remote-hg: general updatesFelipe Contreras, Apr 4, 2013
  2. 01/13 remote-hg: trivial cleanupsFelipe Contreras, Apr 4, 2013
  3. 02/13 remote-hg: add missing config variable in docFelipe Contreras, Apr 4, 2013
  4. 03/13 remote-hg: properly report errors on bookmark pushesFelipe Contreras, Apr 4, 2013
  5. 04/13 remote-hg: fix for files with spacesFelipe Contreras, Apr 4, 2013
  6. 05/13 remote-hg: make sure fake bookmarks are updatedFelipe Contreras, Apr 4, 2013
  7. 06/13 remote-hg: trivial test cleanupsFelipe Contreras, Apr 4, 2013
  8. 07/13 remote-hg: redirect buggy mercurial outputFelipe Contreras, Apr 4, 2013
  9. Junio C HamanoApr 4, 2013
  10. 08/13 remote-hg: split bookmark handlingFelipe Contreras, Apr 4, 2013
  11. 09/13 remote-hg: refactor exportFelipe Contreras, Apr 4, 2013
  12. 10/13 remote-hg: update remote bookmarksFelipe Contreras, Apr 4, 2013
  13. 11/13 remote-hg: force remote pushFelipe Contreras, Apr 4, 2013
  14. Junio C HamanoApr 4, 2013
  15. Felipe ContrerasApr 4, 2013
  16. Junio C HamanoApr 4, 2013
  17. Jed BrownApr 4, 2013
  18. Felipe ContrerasApr 4, 2013
  19. Jed BrownApr 4, 2013
  20. Felipe ContrerasApr 4, 2013
  21. Jed BrownApr 4, 2013
  22. Felipe ContrerasApr 4, 2013
  23. Jed BrownApr 4, 2013
  24. Felipe ContrerasApr 4, 2013
  25. Joachim SchmitzApr 5, 2013
  26. Jed BrownApr 5, 2013
  27. 12/13 remote-hg: update tags globallyFelipe Contreras, Apr 4, 2013
  28. 13/13 remote-hg: push to the appropriate branchFelipe Contreras, Apr 4, 2013
  29. Junio C HamanoApr 4, 2013
  30. Felipe ContrerasApr 5, 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.