view tests/test-extdiff @ 7177:09ed32b79656

mq: Fix --qrefresh --short to work with --exclude and --include pmezard expects hg qref -s -X b to apply the -X to the list of files in the patch, and thus remove b from the patch. That's how it worked before f7fc5f5ecd62. That change seemed sensible, but it wasn't... mpm says (17:22:30) pmezard_: kiilerix1: do you mean that -X should be forbidden with -s ? (17:22:54) pmezard_: kiilerix1: and --include too (17:23:03) mpm: No because you should be able to say hg qref -s foo* -X foo-bar so mpm expects hg qref -s -X b * to apply the -X to the list of files in the working directory, and thus don't include b in the patch This patch tries to make both usecases work by creating a matchfn which uses the include/excludes but not the filelist.
author Mads Kiilerich <mads@kiilerich.com>
date Sun, 19 Oct 2008 16:31:24 +0200
parents d4fa6bafc43a
children e81e6c996e99
line wrap: on
line source

#!/bin/sh

echo "[extensions]" >> $HGRCPATH
echo "extdiff=" >> $HGRCPATH

hg init a
cd a
echo a > a
echo b > b
hg add
# should diff cloned directories
hg extdiff -o -r $opt

echo "[extdiff]" >> $HGRCPATH
echo "cmd.falabala=echo" >> $HGRCPATH
echo "opts.falabala=diffing" >> $HGRCPATH

hg falabala

hg help falabala

hg ci -d '0 0' -mtest1

echo b >> a
hg ci -d '1 0' -mtest2

# should diff cloned files directly
hg falabala -r 0:1

# test diff during merge
hg update 0
echo c >> c
hg add c
hg ci -m "new branch" -d '1 0'
hg update -C 1
hg merge tip
# should diff cloned file against wc file
hg falabala > out || echo "diff-like tools yield a non-zero exit code"
# cleanup the output since the wc is a tmp directory
sed  's:\(.* \).*\(\/test-extdiff\):\1[tmp]\2:' out