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]