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

[PATCH 2/3] remote-hg: allow invalid bookmarks in a few edge cases

From
Max Horn <max@quendi.de>
Date
Mar 19, 2014, 12:33 UTC
Message-ID
<1395232399-60112-2-git-send-email-max@quendi.de>
In-Reply-To
<1395232399-60112-1-git-send-email-max@quendi.de>

Fix the previous commit to workaround issues with edge cases: Specifically, remote-hg inserts a fake 'master' branch, unless the cloned hg repository already contains a 'master' bookmark. If that 'master' bookmark happens to reference the 'null' commit, the preceding fix ignores it. This would leave us in an inconsistent state. Avoid this by NOT ignoring null bookmarks named 'master' or 'default' under suitable circumstances.

Signed-off-by: Max Horn <max@quendi.de>
---
 contrib/remote-helpers/git-remote-hg | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg
index 12d850e..49b2c2e 100755
--- a/contrib/remote-helpers/git-remote-hg
+++ b/contrib/remote-helpers/git-remote-hg
@@ -626,8 +626,11 @@ 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
+            if fake_bmark == 'default' and bmark == 'master':
+                pass
+            else:
+                warn("Ignoring invalid bookmark '%s'", bmark)
+                continue
         bmarks[bmark] = repo[node]
 
     cur = repo.dirstate.branch()
-- 
1.9.0.7.ga299b13
Previous: Max HornNext: Antoine Pelisse
Message 2 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.