Mercurial > hg
view tests/test-serve @ 12039:18e1e7520b67 stable
alias: make shadowing behavior more consistent (issue2054)
Currently, given an alias like the following:
[alias]
summary = summary --remote
The alias might be executed - or it might not - depending on the order
of the cmdtable dict.
This happens because cmdalias gets assigned back to the cmdtable like so:
cmdtable['summary'] = ...
Yet '^summary|sum' is still in the table, so which one cmdutil.findcmd()
chooses isn't deterministic.
This patch makes cmdalias assign back to '^summary|sum'. It uses the same
cmdtable key lookup that extensions.wrapcommand() does.
author | Brodie Rao <brodie@bitheap.org> |
---|---|
date | Sat, 21 Aug 2010 22:48:14 -0400 |
parents | 3318431f2ab4 |
children | 49463314c24f |
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 kill `cat hg.pid` 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 --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/