| author | Peter Kovacs <kpeter@inf.elte.hu> | 
| Tue, 28 Oct 2008 21:35:06 +0100 | |
| changeset 344 | 236b1902e5cc | 
| parent 272 | e63a95b68827 | 
| child 376 | 4b2382fd80ef | 
| permissions | -rwxr-xr-x | 
| alpar@272 | 1  | 
#! /usr/bin/env python  | 
| alpar@272 | 2  | 
|
| alpar@272 | 3  | 
import sys  | 
| alpar@272 | 4  | 
import os  | 
| alpar@272 | 5  | 
|
| alpar@272 | 6  | 
if len(sys.argv)>1 and sys.argv[1] in ["-h","--help"]:  | 
| alpar@272 | 7  | 
print """  | 
| alpar@272 | 8  | 
This utility just prints the length of the longest path  | 
| alpar@272 | 9  | 
in the revision graph from revison 0 to the current one.  | 
| alpar@272 | 10  | 
"""  | 
| alpar@272 | 11  | 
exit(0)  | 
| alpar@284 | 12  | 
plist = os.popen("HGRCPATH='' hg parents --template='{rev}\n'").readlines()
 | 
| alpar@272 | 13  | 
if len(plist)>1:  | 
| alpar@272 | 14  | 
print "You are in the process of merging"  | 
| alpar@272 | 15  | 
exit(1)  | 
| alpar@272 | 16  | 
PAR = int(plist[0])  | 
| alpar@272 | 17  | 
|
| alpar@284 | 18  | 
f = os.popen("HGRCPATH='' hg log -r 0:tip --template='{rev} {parents}\n'").\
 | 
| alpar@284 | 19  | 
readlines()  | 
| alpar@272 | 20  | 
REV = -1  | 
| alpar@272 | 21  | 
lengths=[]  | 
| alpar@272 | 22  | 
for l in f:  | 
| alpar@272 | 23  | 
REV+=1  | 
| alpar@272 | 24  | 
s = l.split()  | 
| alpar@272 | 25  | 
rev = int(s[0])  | 
| alpar@272 | 26  | 
if REV != rev:  | 
| alpar@272 | 27  | 
print "Something is seriously wrong"  | 
| alpar@272 | 28  | 
exit(1)  | 
| alpar@272 | 29  | 
if len(s) == 1:  | 
| alpar@272 | 30  | 
par1 = par2 = rev - 1  | 
| alpar@272 | 31  | 
elif len(s) == 2:  | 
| alpar@272 | 32  | 
        par1 = par2 = int(s[1].split(":")[0])
 | 
| alpar@272 | 33  | 
else:  | 
| alpar@272 | 34  | 
        par1 = int(s[1].split(":")[0])
 | 
| alpar@272 | 35  | 
        par2 = int(s[2].split(":")[0])
 | 
| alpar@272 | 36  | 
if rev == 0:  | 
| alpar@272 | 37  | 
lengths.append(0)  | 
| alpar@272 | 38  | 
else:  | 
| alpar@272 | 39  | 
lengths.append(max(lengths[par1],lengths[par2])+1)  | 
| alpar@272 | 40  | 
print lengths[PAR]  |