Mercurial > hg
view tests/test-patch @ 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 | 0de7e6e27fe4 |
children |
line wrap: on
line source
#!/bin/sh cat > patchtool.py <<EOF import sys print 'Using custom patch' if '--binary' in sys.argv: print '--binary found !' EOF echo "[ui]" >> $HGRCPATH echo "patch=python ../patchtool.py" >> $HGRCPATH hg init a cd a echo a > a hg commit -Ama -d '1 0' echo b >> a hg commit -Amb -d '2 0' cd .. # This test check that: # - custom patch commands with arguments actually works # - patch code does not try to add weird arguments like # --binary when custom patch commands are used. For instance # --binary is added by default under win32. echo % check custom patch options are honored hg --cwd a export -o ../a.diff tip hg clone -r 0 a b hg --cwd b import -v ../a.diff