comparison tests/test-extdiff @ 5137:2be225ea5722

extdiff: do single file diffs from the wc with no copy Extdiff was always making a temporary directory and copying files even when not required. This change makes extdiff avoid the copy when diffing a single file that lives in the wc. This lets external diff tools edit the working copy file directly. It also lets other extensions resuse the functions in extdiff and get in-place diffs.
author Brad Schick <schickb@gmail.com>
date Mon, 06 Aug 2007 14:50:57 -0700
parents 797c6e70092b
children d4fa6bafc43a
comparison
equal deleted inserted replaced
5136:841568ccc09d 5137:2be225ea5722
4 echo "extdiff=" >> $HGRCPATH 4 echo "extdiff=" >> $HGRCPATH
5 5
6 hg init a 6 hg init a
7 cd a 7 cd a
8 echo a > a 8 echo a > a
9 echo b > b
9 hg add 10 hg add
11 # should diff cloned directories
10 hg extdiff -o -r $opt 12 hg extdiff -o -r $opt
11 13
12 echo "[extdiff]" >> $HGRCPATH 14 echo "[extdiff]" >> $HGRCPATH
13 echo "cmd.falabala=echo" >> $HGRCPATH 15 echo "cmd.falabala=echo" >> $HGRCPATH
14 echo "opts.falabala=diffing" >> $HGRCPATH 16 echo "opts.falabala=diffing" >> $HGRCPATH
20 hg ci -d '0 0' -mtest1 22 hg ci -d '0 0' -mtest1
21 23
22 echo b >> a 24 echo b >> a
23 hg ci -d '1 0' -mtest2 25 hg ci -d '1 0' -mtest2
24 26
27 # should diff cloned files directly
25 hg falabala -r 0:1 28 hg falabala -r 0:1
26 29
27 # test diff during merge 30 # test diff during merge
28 hg update 0 31 hg update 0
29 echo b >> b 32 echo c >> c
30 hg add b 33 hg add c
31 hg ci -m "new branch" -d '1 0' 34 hg ci -m "new branch" -d '1 0'
32 hg update -C 1 35 hg update -C 1
33 hg merge tip 36 hg merge tip
34 hg falabala || echo "diff-like tools yield a non-zero exit code" 37 # should diff cloned file against wc file
38 hg falabala > out || echo "diff-like tools yield a non-zero exit code"
39 # cleanup the output since the wc is a tmp directory
40 sed 's:\(.* \).*\(\/test-extdiff\):\1[tmp]\2:' out