##// END OF EJS Templates
verify: check directory manifests...
verify: check directory manifests In repos with treemanifests, there is no specific verification of directory manifest revlogs. It simply collects all file nodes by reading each manifest delta. With treemanifests, that's means calling the manifest._slowreaddelta(). If there are missing revlog entries in a subdirectory revlog, 'hg verify' will simply report the exception that occurred while trying to read the root manifest: manifest@0: reading delta 1700e2e92882: meta/b/00manifest.i@67688a370455: no node This patch changes the verify code to load only the root manifest at first and verify all revisions of it, then verify all revisions of each direct subdirectory, and so on, recursively. The above message becomes b/@0: parent-directory manifest refers to unknown revision 67688a370455 Since the new algorithm reads a single revlog at a time and in order, 'hg verify' on a treemanifest version of the hg core repo goes from ~50s to ~14s. As expected, there is no significant difference on a repo with flat manifests.

File last commit:

r26421:4b0fc75f default
r28203:7297e9e1 default
Show More
hgweb.wsgi
18 lines | 677 B | text/plain | TextLexer
Matt Mackall
hgweb: synchronize fcgi and wsgi scripts
r11002 # An example WSGI for use with mod_wsgi, edit as necessary
Matt Mackall
urls: bulk-change primary website URLs
r26421 # See https://mercurial-scm.org/wiki/modwsgi for more information
Matt Mackall
hgweb: synchronize fcgi and wsgi scripts
r11002
# Path to repo or hgweb config to serve (see 'hg help hgweb')
config = "/path/to/repo/or/config"
Matt Mackall
hgweb: add hint about finding library path with debuginstall
r15475 # Uncomment and adjust if Mercurial is not installed system-wide
# (consult "installed modules" path from 'hg debuginstall'):
Matt Mackall
hgweb: synchronize fcgi and wsgi scripts
r11002 #import sys; sys.path.insert(0, "/path/to/python/lib")
# Uncomment to send python tracebacks to the browser if an error occurs:
#import cgitb; cgitb.enable()
# enable demandloading to reduce startup time
from mercurial import demandimport; demandimport.enable()
from mercurial.hgweb import hgweb
application = hgweb(config)