Mercurial > hg
view tests/test-mq-merge @ 10564:6ded6243bde2 stable
alias: fixes exception when displaying translated help text
__doc__ of aliased command shouldn't cointain non-ASCII characters,
because it'll be gettext-ed later by commands.help_().
Here gettext can raise UnicodeDecodeError.
Once concatenated two translatable strings into one, it become untranslatable.
So this patch moves 'alias for:' from dispatch.cmdalias to commands.help_,
where help texts are translated.
'alias for:' was introduced by 6e8a16dd3e30.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Mon, 01 Mar 2010 23:27:44 +0900 |
parents | 9c2c94934f0d |
children | c52057614c72 |
line wrap: on
line source
#!/bin/sh # Test issue 529 - mq aborts when merging patch deleting files rewrite_path() { sed -e 's:\\:/:g' -e 's:[^ ]*/t/::g' } checkundo() { if [ -f .hg/store/undo ]; then echo ".hg/store/undo still exists after $1" fi } echo "[extensions]" >> $HGRCPATH echo "mq =" >> $HGRCPATH echo "[mq]" >> $HGRCPATH echo "git = keep" >> $HGRCPATH # Commit two dummy files in "init" changeset hg init t cd t echo a > a echo b > b hg ci -Am init hg tag -l init # Create a patch removing a hg qnew rm_a hg rm a hg qrefresh -m "rm a" # Save the patch queue so we can merge it later hg qsave -c -e 2>&1 | rewrite_path checkundo qsave # Update b and commit in an "update" changeset hg up -C init echo b >> b hg st hg ci -m update # Here, qpush used to abort with : # The system cannot find the file specified => a hg manifest hg qpush -a -m 2>&1 | rewrite_path checkundo 'qpush -m' hg manifest # ensure status is correct after merge hg qpop -a cd .. # Classic MQ merge sequence *with an explicit named queue* echo echo % init t2 hg init t2 cd t2 echo '[diff]' > .hg/hgrc echo 'nodates = 1' >> .hg/hgrc echo a > a hg ci -Am init echo b > a hg ci -m changea hg up -C 0 hg cp a aa echo c >> a hg qnew --git -f -e patcha echo d >> a hg qnew -d '0 0' -f -e patcha2 echo % create the reference queue hg qsave -c -e -n refqueue 2> /dev/null hg up -C 1 echo % merge HGMERGE=internal:other hg qpush -a -m -n refqueue 2>&1 | \ sed 's/merging with queue at.*refqueue/merging with queue at refqueue/' echo % check patcha is still a git patch cat .hg/patches/patcha echo % check patcha2 is still a regular patch grep git .hg/patches/patcha2 && echo 'git patch found!' cd ..