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

[PATCH 1/3] remote-hg: do not fail on invalid bookmarks

From
Max Horn <max@quendi.de>
Date
Mar 19, 2014, 12:33 UTC
Message-ID
<1395232399-60112-1-git-send-email-max@quendi.de>
From: Antoine Pelisse <apelisse@gmail.com>

Mercurial can have bookmarks pointing to "nullid" (the empty root revision), while Git can not have references to it. When cloning or fetching from a Mercurial repository that has such a bookmark, the import will fail because git-remote-hg will not be able to create the corresponding reference.

Warn the user about the invalid reference, and continue the import, instead of stopping right away.

Signed-off-by: Antoine Pelisse <apelisse@gmail.com>
Signed-off-by: Max Horn <max@quendi.de>
---
 contrib/remote-helpers/git-remote-hg | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg
index eb89ef6..12d850e 100755
--- a/contrib/remote-helpers/git-remote-hg
+++ b/contrib/remote-helpers/git-remote-hg
@@ -625,6 +625,9 @@ def list_head(repo, cur):
 def do_list(parser):
     repo = parser.repo
     for bmark, node in bookmarks.listbookmarks(repo).iteritems():
+        if node == '0000000000000000000000000000000000000000':
+            warn("Ignoring invalid bookmark '%s'", bmark)
+            continue
         bmarks[bmark] = repo[node]
 
     cur = repo.dirstate.branch()
-- 
1.9.0.7.ga299b13
Next: Max Horn
Message 1 of 6 in “remote-hg: do not fail on invalid bookmarks”
  1. 1/3 remote-hg: do not fail on invalid bookmarksMax Horn, Mar 19, 2014
  2. 2/3 remote-hg: allow invalid bookmarks in a few edge casesMax Horn, Mar 19, 2014
  3. Antoine PelisseMar 19, 2014
  4. Max HornMar 19, 2014
  5. Antoine PelisseMar 19, 2014
  6. 3/3 remote-hg: add test cases for null bookmarksMax Horn, Mar 19, 2014

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.