author | Alpar Juttner <alpar@cs.elte.hu> |
Sat, 10 Aug 2013 14:53:43 +0200 | |
branch | 1.1 |
changeset 1273 | 44670dddcfcb |
parent 390 | 4b2382fd80ef |
child 780 | abf31e4af617 |
permissions | -rwxr-xr-x |
1 #! /usr/bin/env python
3 import sys
5 from mercurial import ui, hg
6 from mercurial import util
8 util.rcpath = lambda : []
10 if len(sys.argv)>1 and sys.argv[1] in ["-h","--help"]:
11 print """
12 This utility just prints the length of the longest path
13 in the revision graph from revison 0 to the current one.
14 """
15 exit(0)
17 u = ui.ui()
18 r = hg.repository(u, ".")
19 N = r.changectx(".").rev()
20 lengths=[0]*(N+1)
21 for i in range(N+1):
22 p=r.changectx(i).parents()
23 if p[0]:
24 p0=lengths[p[0].rev()]
25 else:
26 p0=-1
27 if len(p)>1 and p[1]:
28 p1=lengths[p[1].rev()]
29 else:
30 p1=-1
31 lengths[i]=max(p0,p1)+1
32 print lengths[N]