##// END OF EJS Templates
Sort removes first when applying updates (fixes issues 750 and 912)...
Sort removes first when applying updates (fixes issues 750 and 912) This change ensures that removes happen first in applyupdates(). This avoids issues where we try to make a case-only rename of a file on a case insensitive system. Without this patch, the add of the new name happens before the remove of the old one - which results in the file not existing, as the two names are effectively the same. With the patch, the old name gets removed then the new one gets added, which is always safe.

File last commit:

r6142:50a277e6 merge default
r6805:48258143 default
Show More
hgwebdir.fcgi
50 lines | 1.6 KiB | text/plain | TextLexer
#!/usr/bin/env python
#
# An example CGI script to export multiple hgweb repos, edit as necessary
# adjust python path if not a system-wide install:
#import sys
#sys.path.insert(0, "/path/to/python/lib")
# enable demandloading to reduce startup time
from mercurial import demandimport; demandimport.enable()
# Uncomment to send python tracebacks to the browser if an error occurs:
#import cgitb
#cgitb.enable()
# If you'd like to serve pages with UTF-8 instead of your default
# locale charset, you can do so by uncommenting the following lines.
# Note that this will cause your .hgrc files to be interpreted in
# UTF-8 and all your repo files to be displayed using UTF-8.
#
#import os
#os.environ["HGENCODING"] = "UTF-8"
from mercurial.hgweb.hgwebdir_mod import hgwebdir
from mercurial.hgweb.request import wsgiapplication
from flup.server.fcgi import WSGIServer
# The config file looks like this. You can have paths to individual
# repos, collections of repos in a directory tree, or both.
#
# [paths]
# virtual/path = /real/path
# virtual/path = /real/path
#
# [collections]
# /prefix/to/strip/off = /root/of/tree/full/of/repos
#
# collections example: say directory tree /foo contains repos /foo/bar,
# /foo/quux/baz. Give this config section:
# [collections]
# /foo = /foo
# Then repos will list as bar and quux/baz.
#
# Alternatively you can pass a list of ('virtual/path', '/real/path') tuples
# or use a dictionary with entries like 'virtual/path': '/real/path'
def make_web_app():
return hgwebdir("hgweb.config")
WSGIServer(wsgiapplication(make_web_app)).run()