hgwebdir.cgi
author Wojciech Milkowski <wmilkowski@interia.pl>
Fri, 26 Aug 2005 20:51:34 -0700
changeset 1076 01db658cc78a
parent 1064 8d791bea49d4
child 1144 8a39df05d2c1
permissions -rw-r--r--
tarball support v0.3 Hello, I'm slowly improving support for tarballs in Mercurial. Attached patch is made against current tip in Matt's repository - f859e9cba1b9, and contains everything done so far. Changes: - gzip and bzip2 tarballs are sent immediately without writing to temporary files (I was wrong Matt, it can be done very easy) - hgrc customization, you can choose which type (if any) you will support There's no easy way to support compression levels, since TarFile open() assume that it is 9. I tried to use gzopen(), and bz2open() methods instead, but it seems that headers of generated archives, are missing or wrong. We could eventually try to rewrite tarfile.py and include our own version into Mercurial, but I don't know if it's good idea... Wojtek
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
941
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
     1
#!/usr/bin/env python
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
     2
#
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
     3
# An example CGI script to export multiple hgweb repos, edit as necessary
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
     4
1064
8d791bea49d4 Removed obsolete imports from hgwebdir.cgi
Thomas Arendsen Hein <thomas@intevation.de>
parents: 941
diff changeset
     5
import cgitb, sys
941
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
     6
cgitb.enable()
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
     7
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
     8
# sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
     9
from mercurial import hgweb
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
    10
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
    11
# The config file looks like this:
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
    12
# [paths]
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
    13
# virtual/path = /real/path
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
    14
# virtual/path = /real/path
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
    15
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
    16
h = hgweb.hgwebdir("hgweb.config")
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
    17
h.run()