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

[PATCH 4/8] remote-hg: properly detect missing contexts

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 29, 2014, 09:04 UTC
Message-ID
<1398762275-346-5-git-send-email-felipe.contreras@gmail.com>
In-Reply-To
<1398762275-346-1-git-send-email-felipe.contreras@gmail.com>

This can happen when there's a synchronization issue between marks-git and marks-hg; a key is missing in marks-hg, and when we receive a reset command the value of ctx basically comes from None.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 git-remote-hg.py | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/git-remote-hg.py b/git-remote-hg.py
index 8aca6dd..1972f7f 100755
--- a/git-remote-hg.py
+++ b/git-remote-hg.py
@@ -917,6 +917,11 @@ def checkheads_bmark(repo, ref, ctx):
 
     ctx_old = bmarks[bmark]
     ctx_new = ctx
+
+    if not ctx.rev():
+        print "error %s unknown" % ref
+        return False
+
     if not repo.changelog.descendant(ctx_old.rev(), ctx_new.rev()):
         if force_push:
             print "ok %s forced update" % ref
-- 
1.9.2+fc1.3.gade8541
Previous: Felipe ContrerasNext: Felipe Contreras
Message 5 of 10 in “remote-helper: fixes”
  1. 0/8 remote-helper: fixesFelipe Contreras, Apr 29, 2014
  2. 1/8 remote-hg: fix parsing of custom committerFelipe Contreras, Apr 29, 2014
  3. 2/8 remote-hg: update to 'public' phase when pushingFelipe Contreras, Apr 29, 2014
  4. 3/8 remote-{hg,bzr}: store marks only on successFelipe Contreras, Apr 29, 2014
  5. 4/8 remote-hg: properly detect missing contextsFelipe Contreras, Apr 29, 2014
  6. 5/8 t: remote-hg: split into setup testFelipe Contreras, Apr 29, 2014
  7. 6/8 git-remote-hg: use internal clone's hgrcFelipe Contreras, Apr 29, 2014
  8. 7/8 remote-hg: make sure we omit multiple headsFelipe Contreras, Apr 29, 2014
  9. 8/8 remote-hg: trivial cleanupsFelipe Contreras, Apr 29, 2014
  10. Philip OakleyApr 29, 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.