progress: handle days, weeks and years
using hg clone svn://anonsvn.kde.org/home/kde/trunk kde ... with progress
yields 3008/1210830 1314h56m, which is unusable.
Add code to switch to days at 30 hours, to weeks at 15 days, and to years
at 55 weeks. A day has 24 hours, a week has 7 days, and a year has 52 weeks.
Months are intentionally omitted because they do not have a fixed length. The
Use of 52 weeks is a known and understandable estimate for a year.
It might make sense to spell our year to alert people when progress is
impractical, but...
#!/bin/sh
hgserve()
{
hg serve -a localhost -d --pid-file=hg.pid -E errors.log -v $@ \
| sed -e "s/:$HGPORT1\\([^0-9]\\)/:HGPORT1\1/g" \
-e "s/:$HGPORT2\\([^0-9]\\)/:HGPORT2\1/g" \
-e 's/http:\/\/[^/]*\//http:\/\/localhost\//'
cat hg.pid >> "$DAEMON_PIDS"
echo % errors
cat errors.log
sleep 1
if [ "$KILLQUIETLY" = "Y" ]; then
kill `cat hg.pid` 2>/dev/null
else
kill `cat hg.pid`
fi
sleep 1
}
hg init test
cd test
echo '[web]' > .hg/hgrc
echo 'accesslog = access.log' >> .hg/hgrc
echo "port = $HGPORT1" >> .hg/hgrc
echo % Without -v
hg serve -a localhost -p $HGPORT -d --pid-file=hg.pid -E errors.log
cat hg.pid >> "$DAEMON_PIDS"
if [ -f access.log ]; then
echo 'access log created - .hg/hgrc respected'
fi
echo % errors
cat errors.log
echo % With -v
hgserve
echo % With -v and -p HGPORT2
hgserve -p "$HGPORT2"
echo '% With -v and -p daytime (should fail because low port)'
KILLQUIETLY=Y
hgserve -p daytime
KILLQUIETLY=N
echo % With --prefix foo
hgserve --prefix foo
echo % With --prefix /foo
hgserve --prefix /foo
echo % With --prefix foo/
hgserve --prefix foo/
echo % With --prefix /foo/
hgserve --prefix /foo/