COIN-OR::LEMON - Graph Library

source: lemon-main/scripts/chg-len.py @ 746:e4554cd6b2bf

Last change on this file since 746:e4554cd6b2bf was 733:abf31e4af617, checked in by Alpar Juttner <alpar@…>, 15 years ago

Copyright notices added to scripts

  • Property exe set to *
File size: 1.2 KB
Line 
1#! /usr/bin/env python
2#
3# This file is a part of LEMON, a generic C++ optimization library.
4#
5# Copyright (C) 2003-2009
6# Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
7# (Egervary Research Group on Combinatorial Optimization, EGRES).
8#
9# Permission to use, modify and distribute this software is granted
10# provided that this copyright notice appears in all copies. For
11# precise terms see the accompanying LICENSE file.
12#
13# This software is provided "AS IS" with no warranty of any kind,
14# express or implied, and with no claim as to its suitability for any
15# purpose.
16
17import sys
18
19from mercurial import ui, hg
20from mercurial import util
21
22util.rcpath = lambda : []
23
24if len(sys.argv)>1 and sys.argv[1] in ["-h","--help"]:
25    print """
26This utility just prints the length of the longest path
27in the revision graph from revison 0 to the current one.
28"""
29    exit(0)
30
31u = ui.ui()
32r = hg.repository(u, ".")
33N = r.changectx(".").rev()
34lengths=[0]*(N+1)
35for i in range(N+1):
36    p=r.changectx(i).parents()
37    if p[0]:
38        p0=lengths[p[0].rev()]
39    else:
40        p0=-1
41    if len(p)>1 and p[1]:
42        p1=lengths[p[1].rev()]
43    else:
44        p1=-1
45    lengths[i]=max(p0,p1)+1
46print lengths[N]
Note: See TracBrowser for help on using the repository browser.