view tests/test-add @ 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 e6162b854ed5
children
line wrap: on
line source

#!/bin/sh

hg init a
cd a
echo a > a
hg add -n
hg st
hg add
hg st
hg forget a
hg add
hg st

echo b > b
hg add -n b
hg st
hg add b || echo "failed to add b"
hg st
echo % should fail
hg add b
hg st

hg ci -m 0 --traceback
echo % should fail
hg add a

echo aa > a
hg ci -m 1
hg up 0
echo aaa > a
hg ci -m 2

hg merge
hg st
echo % should fail
hg add a
hg st
hg resolve -m a
hg ci -m merge

echo % issue683
hg forget a
hg add a
hg st
hg rm a
hg st
echo a > a
hg add a
hg st

hg add c && echo "unexpected addition of missing file"
echo c > c
hg add d c && echo "unexpected addition of missing file"
hg st