annotate tests/test-symlinks @ 4077:1305ba7dee88

Prevent type exception on concatenation if diffstat returns None. This will most often occur if diffstat is not installed in the target platform, though may also happen in other cases where diffstat fails to execute. Signed-off-by: Sean Dague <sean@dague.net>
author Sean Dague <sean@dague.net>
date Tue, 30 Jan 2007 10:35:25 -0500
parents 9dcf9d45cab8
children 26596a6b6518
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1408
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
1 #!/bin/sh
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
2 #Test bug regarding symlinks that showed up in hg 0.7
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
3 #Author: Matthew Elder <sseses@gmail.com>
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
4
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
5 #make and initialize repo
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
6 hg init test; cd test;
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
7
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
8 #make a file and a symlink
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
9 touch foo; ln -s foo bar;
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
10
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
11 #import with addremove -- symlink walking should _not_ screwup.
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
12 hg addremove
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
13
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
14 #commit -- the symlink should _not_ appear added to dir state
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
15 hg commit -m 'initial'
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
16
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
17 #add a new file so hg will let me commit again
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
18 touch bomb
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
19
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
20 #again, symlink should _not_ show up on dir state
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
21 hg addremove
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
22
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
23 #Assert screamed here before, should go by without consequence
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
24 hg commit -m 'is there a bug?'
1487
2bc6cd62a29c fix handling of files of unsupported type in the walk code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1408
diff changeset
25
3988
9dcf9d45cab8 Don't use -f for rm in tests where not needed. Drop /bin/ from /bin/rm.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3750
diff changeset
26 cd .. ; rm -r test
1487
2bc6cd62a29c fix handling of files of unsupported type in the walk code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1408
diff changeset
27 hg init test; cd test;
2bc6cd62a29c fix handling of files of unsupported type in the walk code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1408
diff changeset
28
2bc6cd62a29c fix handling of files of unsupported type in the walk code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1408
diff changeset
29 mkdir dir
2bc6cd62a29c fix handling of files of unsupported type in the walk code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1408
diff changeset
30 touch a.c dir/a.o dir/b.o
2bc6cd62a29c fix handling of files of unsupported type in the walk code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1408
diff changeset
31 # test what happens if we want to trick hg
2bc6cd62a29c fix handling of files of unsupported type in the walk code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1408
diff changeset
32 hg commit -A -m 0
2bc6cd62a29c fix handling of files of unsupported type in the walk code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1408
diff changeset
33 echo "relglob:*.o" > .hgignore
2bc6cd62a29c fix handling of files of unsupported type in the walk code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1408
diff changeset
34 rm a.c
2bc6cd62a29c fix handling of files of unsupported type in the walk code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1408
diff changeset
35 rm dir/a.o
2bc6cd62a29c fix handling of files of unsupported type in the walk code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1408
diff changeset
36 rm dir/b.o
2bc6cd62a29c fix handling of files of unsupported type in the walk code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1408
diff changeset
37 mkdir dir/a.o
3750
0f550b87deb8 Compatibility fix for 'ln -sf'.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2115
diff changeset
38 ln -s nonexist dir/b.o
1487
2bc6cd62a29c fix handling of files of unsupported type in the walk code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1408
diff changeset
39 mkfifo a.c
1620
6c61646fee5e Adjusted all but one test output for the new behaviour of localrepo.changes()
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1527
diff changeset
40 # it should show a.c, dir/a.o and dir/b.o deleted
1487
2bc6cd62a29c fix handling of files of unsupported type in the walk code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1408
diff changeset
41 hg status
1527
c13fce7167c2 don't print anything about file of unsupported type unless
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1487
diff changeset
42 hg status a.c
2115
fd77b7ee4aac Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Jim Meyering <list+hg@meyering.net>
parents: 1620
diff changeset
43
fd77b7ee4aac Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Jim Meyering <list+hg@meyering.net>
parents: 1620
diff changeset
44 echo '# test absolute path through symlink outside repo'
fd77b7ee4aac Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Jim Meyering <list+hg@meyering.net>
parents: 1620
diff changeset
45 cd ..
fd77b7ee4aac Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Jim Meyering <list+hg@meyering.net>
parents: 1620
diff changeset
46 p=`pwd`
fd77b7ee4aac Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Jim Meyering <list+hg@meyering.net>
parents: 1620
diff changeset
47 hg init x
fd77b7ee4aac Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Jim Meyering <list+hg@meyering.net>
parents: 1620
diff changeset
48 ln -s x y
fd77b7ee4aac Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Jim Meyering <list+hg@meyering.net>
parents: 1620
diff changeset
49 cd x
fd77b7ee4aac Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Jim Meyering <list+hg@meyering.net>
parents: 1620
diff changeset
50 touch f
fd77b7ee4aac Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Jim Meyering <list+hg@meyering.net>
parents: 1620
diff changeset
51 hg add f
fd77b7ee4aac Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Jim Meyering <list+hg@meyering.net>
parents: 1620
diff changeset
52 hg status $p/y/f
fd77b7ee4aac Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Jim Meyering <list+hg@meyering.net>
parents: 1620
diff changeset
53
fd77b7ee4aac Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Jim Meyering <list+hg@meyering.net>
parents: 1620
diff changeset
54 echo '# try symlink outside repo to file inside'
fd77b7ee4aac Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Jim Meyering <list+hg@meyering.net>
parents: 1620
diff changeset
55 ln -s x/f ../z
fd77b7ee4aac Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Jim Meyering <list+hg@meyering.net>
parents: 1620
diff changeset
56 # this should fail
fd77b7ee4aac Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Jim Meyering <list+hg@meyering.net>
parents: 1620
diff changeset
57 hg status ../z && { echo hg mistakenly exited with status 0; exit 1; } || :