Mercurial > hg
view tests/test-serve @ 12687:34d8247a4595
store: encode first period or space in filenames (issue1713)
- Mac OS X has problems with filenames starting with '._'
(e.g. '.FOO' -> '._f_o_o' is now encoded as '~2e_f_o_o')
- Explorer of Windows Vista and Windows 7 strip leading spaces of
path elements of filenames when copying trees
Above problems are avoided by encoding the first space (as '~20') or
period (as '~2e') of all path elements.
This introduces a new entry 'dotencode' in .hg/requires, that is,
a new repository filename layout (inside .hg/store).
Newly created repositories require 'dotencode' by default. Specifying
[format]
dotencode = False
in a config file will use the old format instead.
Prior Mercurial versions will abort with the message
abort: requirement 'dotencode' not supported!
when trying to access a local repository that requires 'dotencode'.
New 'dotencode' repositories can be converted to the previous
repository format with
hg --config format.dotencode=0 clone --pull repoA repoB
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Sat, 09 Oct 2010 21:54:50 +0200 |
parents | fdb0983ad395 |
children |
line wrap: on
line source
#!/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/