##// END OF EJS Templates
perf: use storage API for resolving manifest node...
Gregory Szorc -
r39354:c03c5f52 default
parent child Browse files
Show More
@@ -861,7 +861,21 b' def perfmanifest(ui, repo, rev, manifest'
861 ctx = scmutil.revsingle(repo, rev, rev)
861 ctx = scmutil.revsingle(repo, rev, rev)
862 t = ctx.manifestnode()
862 t = ctx.manifestnode()
863 else:
863 else:
864 t = repo.manifestlog._revlog.lookup(rev)
864 from mercurial.node import bin
865
866 if len(rev) == 40:
867 t = bin(rev)
868 else:
869 try:
870 rev = int(rev)
871
872 if util.safehasattr(repo.manifestlog, 'getstorage'):
873 t = repo.manifestlog.getstorage(b'').node(rev)
874 else:
875 t = repo.manifestlog._revlog.lookup(rev)
876 except ValueError:
877 raise error.Abort('manifest revision must be integer or full '
878 'node')
865 def d():
879 def d():
866 repo.manifestlog.clearcaches(clear_persisted_data=clear_disk)
880 repo.manifestlog.clearcaches(clear_persisted_data=clear_disk)
867 repo.manifestlog[t].read()
881 repo.manifestlog[t].read()
@@ -166,6 +166,10 b' perfstatus'
166 $ hg perflookup 2
166 $ hg perflookup 2
167 $ hg perflrucache
167 $ hg perflrucache
168 $ hg perfmanifest 2
168 $ hg perfmanifest 2
169 $ hg perfmanifest -m 44fe2c8352bb3a478ffd7d8350bbc721920134d1
170 $ hg perfmanifest -m 44fe2c8352bb
171 abort: manifest revision must be integer or full node
172 [255]
169 $ hg perfmergecalculate -r 3
173 $ hg perfmergecalculate -r 3
170 $ hg perfmoonwalk
174 $ hg perfmoonwalk
171 $ hg perfnodelookup 2
175 $ hg perfnodelookup 2
General Comments 0
You need to be logged in to leave comments. Login now