[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/b4784a66a8e6
changeset: 276:b4784a66a8e6
user:      Alpar Juttner <alpar [at] cs.elte.hu>
date:      Mon Sep 22 08:37:23 2008 +0100
description:
	Merge

diffstat:

3 files changed, 50 insertions(+), 17 deletions(-)
CMakeLists.txt     |   18 +++---------------
configure.ac       |   10 ++++++++--
scripts/chg-len.py |   39 +++++++++++++++++++++++++++++++++++++++

diffs (103 lines):

diff -r cea3cb3bbcd7 -r b4784a66a8e6 CMakeLists.txt
--- a/CMakeLists.txt	Sun Sep 21 18:26:25 2008 +0100
+++ b/CMakeLists.txt	Mon Sep 22 08:37:23 2008 +0100
@@ -1,16 +1,7 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 
-#EXECUTE_PROCESS(
-#  COMMAND hg id -i
-#  OUTPUT_VARIABLE HG_REVISION
-#  OUTPUT_STRIP_TRAILING_WHITESPACE)
-
 SET(PROJECT_NAME "LEMON")
-SET(PROJECT_VERSION_MAJOR "0")
-SET(PROJECT_VERSION_MINOR "99")
-SET(PROJECT_VERSION_PATCH "0")
-SET(PROJECT_VERSION
-  "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
+SET(PROJECT_VERSION "hg-tip" CACHE STRING "The version string.")
 
 PROJECT(${PROJECT_NAME})
 
@@ -39,15 +30,12 @@
     "LEMON - Library of Efficient Models and Optimization in Networks")
   SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
 
-  SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
-  SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
-  SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
   SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
 
   SET(CPACK_PACKAGE_INSTALL_DIRECTORY
-    "${PROJECT_NAME} ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}")
+    "${PROJECT_NAME} ${PROJECT_VERSION}")
   SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
-    "${PROJECT_NAME} ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
+    "${PROJECT_NAME} ${PROJECT_VERSION}")
 
   # Variables to generate a component-based installer.
   #SET(CPACK_COMPONENTS_ALL headers library html_documentation)
diff -r cea3cb3bbcd7 -r b4784a66a8e6 configure.ac
--- a/configure.ac	Sun Sep 21 18:26:25 2008 +0100
+++ b/configure.ac	Mon Sep 22 08:37:23 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 cea3cb3bbcd7 -r b4784a66a8e6 scripts/chg-len.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/chg-len.py	Mon Sep 22 08:37:23 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