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

[PATCH 05/16] remote-hg: add branch_tip() helper

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 22, 2013, 21:55 UTC
Message-ID
<1366667724-567-6-git-send-email-felipe.contreras@gmail.com>
In-Reply-To
<1366667724-567-1-git-send-email-felipe.contreras@gmail.com>

Idea from gitifyhg, the backwards compatibility is how Mercurial used to do it.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 contrib/remote-helpers/git-remote-hg | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg
index a4db5b0..bd93f82 100755
--- a/contrib/remote-helpers/git-remote-hg
+++ b/contrib/remote-helpers/git-remote-hg
@@ -457,6 +457,13 @@ def do_capabilities(parser):
 
     print
 
+def branch_tip(repo, branch):
+    # older versions of mercurial don't have this
+    if hasattr(repo, 'branchtip'):
+        return repo.branchtip(branch)
+    else:
+        return repo.branchtags()[branch]
+
 def get_branch_tip(repo, branch):
     global branches
 
@@ -467,9 +474,7 @@ def get_branch_tip(repo, branch):
     # verify there's only one head
     if (len(heads) > 1):
         warn("Branch '%s' has more than one head, consider merging" % branch)
-        # older versions of mercurial don't have this
-        if hasattr(repo, "branchtip"):
-            return repo.branchtip(branch)
+        return branch_tip(repo, branch)
 
     return heads[0]
 
-- 
1.8.2.1.790.g4588561
Previous: Felipe ContrerasNext: Felipe Contreras
Message 9 of 24 in “remote-hg: second round of improvements”
  1. 00/16 remote-hg: second round of improvementsFelipe Contreras, Apr 22, 2013
  2. 01/16 remote-helpers: avoid has_keyFelipe Contreras, Apr 22, 2013
  3. Junio C HamanoApr 22, 2013
  4. Felipe ContrerasApr 22, 2013
  5. Dusty PhillipsApr 22, 2013
  6. 02/16 remote-hg: safer bookmark pushingFelipe Contreras, Apr 22, 2013
  7. 03/16 remote-hg: use python urlparseFelipe Contreras, Apr 22, 2013
  8. 04/16 remote-hg: properly mark branches up-to-dateFelipe Contreras, Apr 22, 2013
  9. 05/16 remote-hg: add branch_tip() helperFelipe Contreras, Apr 22, 2013
  10. 06/16 remote-hg: add support for tag objectsFelipe Contreras, Apr 22, 2013
  11. 07/16 remote-hg: custom method to write tagsFelipe Contreras, Apr 22, 2013
  12. 08/16 remote-hg: write tags in the appropriate branchFelipe Contreras, Apr 22, 2013
  13. 09/16 remote-hg: add custom local tag write codeFelipe Contreras, Apr 22, 2013
  14. 10/16 remote-hg: improve email sanitationFelipe Contreras, Apr 22, 2013
  15. 11/16 remote-hg: add support for schemes extensionFelipe Contreras, Apr 22, 2013
  16. 12/16 remote-hg: don't update bookmarks unnecessarilyFelipe Contreras, Apr 22, 2013
  17. 13/16 remote-hg: allow refs with spacesFelipe Contreras, Apr 22, 2013
  18. Junio C HamanoApr 22, 2013
  19. Felipe ContrerasApr 22, 2013
  20. Junio C HamanoApr 22, 2013
  21. 14/16 remote-hg: small performance improvementFelipe Contreras, Apr 22, 2013
  22. 15/16 remote-hg: use marks instead of inlined filesFelipe Contreras, Apr 22, 2013
  23. Junio C HamanoApr 22, 2013
  24. 16/16 remote-hg: strip extra newlineFelipe Contreras, Apr 22, 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.