hgweb: descend empty directories in web view
When a manifest has a series of directories with nothing in them but a single
directory, displaying the entire chain of empty directories allows for
navigation down to the first non-empty directory with a single click.
Because Java links package hierarchy to directory hierarchy, and because Java
conventions include at least three empty directories at the top of this
hierarchy, descending down empty directories is very common in Java web tools.
#!/bin/sh
# Test chains of near empty directories, terminating 3 different ways:
# - a1: file at level 4 (deepest)
# - b1: two dirs at level 3
# - e1: file at level 2
echo % Set up the repo
hg init test
cd test
mkdir -p a1/a2/a3/a4
mkdir -p b1/b2/b3/b4
mkdir -p b1/b2/c3/c4
mkdir -p d1/d2/d3/d4
echo foo > a1/a2/a3/a4/foo
echo foo > b1/b2/b3/b4/foo
echo foo > b1/b2/c3/c4/foo
echo foo > d1/d2/d3/d4/foo
echo foo > d1/d2/foo
hg ci -Ama
hg serve -n test -p $HGPORT -d --pid-file=hg.pid -E errors.log
cat hg.pid >> $DAEMON_PIDS
echo % manifest with descending
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/file'
echo % ERRORS ENCOUNTERED
cat errors.log