Mercurial > hg
view tests/test-subrepo-relative-path @ 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 | a2bc2f2d77a9 |
children |
line wrap: on
line source
#!/bin/sh echo % Preparing the subrepository 'sub' hg init sub echo sub > sub/sub hg add -R sub hg commit -R sub -m "sub import" echo % Preparing the 'main' repo which depends on the subrepo 'sub' hg init main echo main > main/main echo "sub = ../sub" > main/.hgsub hg clone sub main/sub | sed 's/ .*sub/ ...sub/g' hg add -R main hg commit -R main -m "main import" echo % Cleaning both repositories, just as a clone -U hg up -C -R sub null hg up -C -R main null rm -rf main/sub echo % Serving them both using hgweb printf '[paths]\n/main = main\nsub = sub\n' > webdir.conf hg serve --webdir-conf webdir.conf -a localhost -p $HGPORT \ -A /dev/null -E /dev/null --pid-file hg.pid -d cat hg.pid >> $DAEMON_PIDS echo % Clone main from hgweb hg clone "http://localhost:$HGPORT/main" cloned | sed 's/ .*sub/ ...sub/g' echo % Checking cloned repo ids hg id -R cloned hg id -R cloned/sub echo % subrepo debug for 'main' clone hg debugsub -R cloned "$TESTDIR/killdaemons.py" exit 0