Mercurial > hg
view tests/test-tag @ 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 | 52e4ac3e63f7 |
children |
line wrap: on
line source
#!/bin/sh hg init test cd test echo a > a hg add a hg commit -m "test" -d "1000000 0" hg history hg tag ' ' hg tag -d "1000000 0" "bleah" hg history echo foo >> .hgtags hg tag -d "1000000 0" "bleah2" || echo "failed" hg revert .hgtags hg tag -d "1000000 0" -r 0 x y z y y z || echo "failed" hg tag -d "1000000 0" tap nada dot tip null . || echo "failed" hg tag -d "1000000 0" "bleah" || echo "failed" hg tag -d "1000000 0" "blecch" "bleah" || echo "failed" hg tag -d "1000000 0" --remove "blecch" || echo "failed" hg tag -d "1000000 0" --remove "bleah" "blecch" "blough" || echo "failed" hg tag -d "1000000 0" -r 0 "bleah0" hg tag -l -d "1000000 0" -r 1 "bleah1" hg tag -d "1000000 0" gack gawk gorp hg tag -d "1000000 0" -f gack hg tag -d "1000000 0" --remove gack gorp cat .hgtags cat .hg/localtags hg update 0 hg tag -d "1000000 0" "foobar" cat .hgtags cat .hg/localtags hg tag -l 'xx newline' hg tag -l 'xx:xx' echo % cloning local tags cd .. hg -R test log -r0:5 hg clone -q -rbleah1 test test1 hg -R test1 parents --style=compact hg clone -q -r5 test#bleah1 test2 hg -R test2 parents --style=compact hg clone -q -U test#bleah1 test3 hg -R test3 parents --style=compact cd test echo % issue 601 python << EOF f = file('.hg/localtags'); last = f.readlines()[-1][:-1]; f.close() f = file('.hg/localtags', 'w'); f.write(last); f.close() EOF cat .hg/localtags hg tag -l localnewline cat .hg/localtags python << EOF f = file('.hgtags'); last = f.readlines()[-1][:-1]; f.close() f = file('.hgtags', 'w'); f.write(last); f.close() EOF hg ci -d '1000000 0' -m'broken manual edit of .hgtags' cat .hgtags hg tag -d '1000000 0' newline cat .hgtags echo % tag and branch using same name hg branch tag-and-branch-same-name hg ci -m"discouraged" hg tag tag-and-branch-same-name echo '% test custom commit messages' cat > $HGTMP/editor <<'__EOF__' #!/bin/sh echo "custom tag message" > "$1" echo "second line" >> "$1" __EOF__ chmod +x "$HGTMP"/editor HGEDITOR="'$HGTMP'"/editor hg tag custom-tag -e hg log -l1 --template "{desc}\n"