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

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

From
Antoine Pelisse <apelisse@gmail.com>
Date
Dec 29, 2013, 11:30 UTC
Message-ID
<1388316602-22443-1-git-send-email-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>
---
 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.8.5.1.97.g8d784da.dirty
Next: Mike Hommey
Message 1 of 7 in “remote-hg: do not fail on invalid bookmarks”
  1. remote-hg: do not fail on invalid bookmarksAntoine Pelisse, Dec 29, 2013
  2. Mike HommeyDec 29, 2013
  3. Antoine PelisseDec 30, 2013
  4. Mike HommeyDec 30, 2013
  5. Junio C HamanoDec 30, 2013
  6. Torsten BögershausenJan 6, 2014
  7. Antoine PelisseJan 6, 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.