From f4e0992e9c52ee7ae87b812d6fca4699743c6890 Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
Date: Tue, 17 Aug 2010 11:34:53 +0200
Subject: [PATCH] use a more portable code to get current hg revision. se #5831

---
 autogen.sh         | 3 ++-
 src/common/defs.py | 7 +++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/autogen.sh b/autogen.sh
index 9d1f65b4bf..f852dfe90f 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,7 +1,8 @@
 #!/usr/bin/env bash
   gajimversion="0.13.90.1"
   if [ -d ".hg" ]; then
-    hgversion="-$(hexdump -n6 -e'6/1 "%02x"' .hg/dirstate)"
+    node=$(hg  tip --template "{node}")
+    hgversion="-${node:0:12}"
   else
     hgversion=""
   fi
diff --git a/src/common/defs.py b/src/common/defs.py
index 63f278b96c..cf29b60917 100644
--- a/src/common/defs.py
+++ b/src/common/defs.py
@@ -30,8 +30,11 @@
 version = '0.13.90.1'
 import subprocess
 try:
-    hgversion = subprocess.Popen('hexdump -n6 -e\'6/1 "%02x"\' ../.hg/dirstate',
-        shell=True, stdout=subprocess.PIPE).communicate()[0]
+    from mercurial import ui, hg
+    from mercurial.context import hex as hex_
+    repo = hg.repository(ui.ui(), '..')
+    node = repo['tip'].node()
+    hgversion = hex_(node)[:12]
     version += '-' + hgversion
 except Exception:
     pass
-- 
GitLab