[Lemon-commits] Alpar Juttner: Merge
Lemon HG
hg at lemon.cs.elte.hu
Mon Sep 22 09:40:00 CEST 2008
details: http://lemon.cs.elte.hu/hg/lemon/rev/0821fea54d53
changeset: 275:0821fea54d53
user: Alpar Juttner <alpar [at] cs.elte.hu>
date: Mon Sep 22 08:12:44 2008 +0100
description:
Merge
diffstat:
2 files changed, 47 insertions(+), 2 deletions(-)
configure.ac | 10 ++++++++--
scripts/chg-len.py | 39 +++++++++++++++++++++++++++++++++++++++
diffs (64 lines):
diff -r 2a33883915bb -r 0821fea54d53 configure.ac
--- a/configure.ac Sun Sep 21 18:23:07 2008 +0100
+++ b/configure.ac Mon Sep 22 08:12:44 2008 +0100
@@ -1,9 +1,15 @@
dnl Process this file with autoconf to produce a configure script.
dnl Version information.
-m4_define([lemon_version_number], [])
+m4_define([lemon_version_number],
+ [m4_normalize(esyscmd([echo ${LEMON_VERSION}]))])
+dnl m4_define([lemon_version_number], [])
+m4_define([lemon_hg_path], [m4_normalize(esyscmd([./scripts/chg-len.py]))])
m4_define([lemon_hg_revision], [m4_normalize(esyscmd([hg id -i]))])
-m4_define([lemon_version], [ifelse(lemon_version_number(), [], [lemon_hg_revision()], [lemon_version_number()])])
+m4_define([lemon_version], [ifelse(lemon_version_number(),
+ [],
+ [lemon_hg_path().lemon_hg_revision()],
+ [lemon_version_number()])])
AC_PREREQ([2.59])
AC_INIT([LEMON], [lemon_version()], [lemon-user at lemon.cs.elte.hu], [lemon])
diff -r 2a33883915bb -r 0821fea54d53 scripts/chg-len.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/chg-len.py Mon Sep 22 08:12:44 2008 +0100
@@ -0,0 +1,39 @@
+#! /usr/bin/env python
+
+import sys
+import os
+
+if len(sys.argv)>1 and sys.argv[1] in ["-h","--help"]:
+ print """
+This utility just prints the length of the longest path
+in the revision graph from revison 0 to the current one.
+"""
+ exit(0)
+plist = os.popen("hg parents --template='{rev}\n'").readlines()
+if len(plist)>1:
+ print "You are in the process of merging"
+ exit(1)
+PAR = int(plist[0])
+
+f = os.popen("hg log -r 0:tip --template='{rev} {parents}\n'").readlines()
+REV = -1
+lengths=[]
+for l in f:
+ REV+=1
+ s = l.split()
+ rev = int(s[0])
+ if REV != rev:
+ print "Something is seriously wrong"
+ exit(1)
+ if len(s) == 1:
+ par1 = par2 = rev - 1
+ elif len(s) == 2:
+ par1 = par2 = int(s[1].split(":")[0])
+ else:
+ par1 = int(s[1].split(":")[0])
+ par2 = int(s[2].split(":")[0])
+ if rev == 0:
+ lengths.append(0)
+ else:
+ lengths.append(max(lengths[par1],lengths[par2])+1)
+print lengths[PAR]
More information about the Lemon-commits
mailing list