hgweb: change manifest archive links to only archive the current directory
When the web server shows the manifest for a single, non top directory, append
the path to the directory to the archive links. This makes the web server
generate archive files that only include the current directory (and its
subdirectories).
Note that archive links in other pages (e.g. changeset) or at the top of the
manifest are unchanged. Directory archive links have an extra "/" at the end
which does not impact the result of the archive operation. Keeping it there
made the implementation of this feature simpler.
$ echo 'raise Exception("bit bucket overflow")' > badext.py
$ abspath=`pwd`/badext.py
$ echo '[extensions]' >> $HGRCPATH
$ echo "gpg =" >> $HGRCPATH
$ echo "hgext.gpg =" >> $HGRCPATH
$ echo "badext = $abspath" >> $HGRCPATH
$ echo "badext2 =" >> $HGRCPATH
$ hg -q help help
*** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
*** failed to import extension badext2: No module named badext2
hg help [-ec] [TOPIC]
show help for a given topic or a help overview