alpar@272: #! /usr/bin/env python
alpar@272: 
alpar@272: import sys
alpar@390: 
alpar@390: from mercurial import ui, hg
alpar@439: from mercurial import util
alpar@439: 
alpar@439: util.rcpath = lambda : []
alpar@272: 
alpar@272: if len(sys.argv)>1 and sys.argv[1] in ["-h","--help"]:
alpar@272:     print """
alpar@272: This utility just prints the length of the longest path
alpar@272: in the revision graph from revison 0 to the current one.
alpar@272: """
alpar@272:     exit(0)
alpar@272: 
alpar@390: u = ui.ui()
alpar@390: r = hg.repository(u, ".")
alpar@390: N = r.changectx(".").rev()
alpar@390: lengths=[0]*(N+1)
alpar@390: for i in range(N+1):
alpar@390:     p=r.changectx(i).parents()
alpar@390:     if p[0]:
alpar@390:         p0=lengths[p[0].rev()]
alpar@272:     else:
alpar@390:         p0=-1
alpar@390:     if len(p)>1 and p[1]:
alpar@390:         p1=lengths[p[1].rev()]
alpar@272:     else:
alpar@390:         p1=-1
alpar@390:     lengths[i]=max(p0,p1)+1
alpar@390: print lengths[N]