Mercurial > hg
view tests/test-encode @ 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 | 1c4ab236ebcb |
children | 4c94b6d0fb1c |
line wrap: on
line source
#!/bin/sh hg init cat > .hg/hgrc <<EOF [encode] not.gz = tr [:lower:] [:upper:] *.gz = gzip -d [decode] not.gz = tr [:upper:] [:lower:] *.gz = gzip EOF echo "this is a test" | gzip > a.gz echo "this is a test" > not.gz hg add * hg ci -m "test" -d "1000000 0" echo %% no changes hg status touch * echo %% no changes hg status echo %% check contents in repo are encoded hg debugdata .hg/store/data/a.gz.d 0 hg debugdata .hg/store/data/not.gz.d 0 echo %% check committed content was decoded gunzip < a.gz cat not.gz rm * hg co -C echo %% check decoding of our new working dir copy gunzip < a.gz cat not.gz echo %% check hg cat operation hg cat a.gz hg cat --decode a.gz | gunzip mkdir subdir cd subdir hg -R .. cat ../a.gz hg -R .. cat --decode ../a.gz | gunzip