annotate tests/test-symlinks.t @ 13285:2ef915184ff2 stable

win32: win32console.GetStdHandle() can return None When the Mercurial Python libraries are used within a Windows application with no console, there is no stderr file handle.
author Steve Borho <steve@borho.org>
date Fri, 21 Jan 2011 14:42:15 -0600
parents 4fee1fd3de9a
children c7a8164c61ab
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
1 $ "$TESTDIR/hghave" symlink || exit 80
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
2
11812
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
3 == tests added in 0.7 ==
1408
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
4
11812
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
5 $ hg init test-symlinks-0.7; cd test-symlinks-0.7;
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
6 $ touch foo; ln -s foo bar;
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
7
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
8 import with addremove -- symlink walking should _not_ screwup.
4882
25d753efd48e test-symlink-basic: require symlinks availability
Patrick Mezard <pmezard@gmail.com>
parents: 4137
diff changeset
9
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
10 $ hg addremove
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
11 adding bar
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
12 adding foo
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
13
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
14 commit -- the symlink should _not_ appear added to dir state
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
15
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
16 $ hg commit -m 'initial'
1408
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
17
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
18 $ touch bomb
1408
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
19
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
20 again, symlink should _not_ show up on dir state
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
21
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
22 $ hg addremove
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
23 adding bomb
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
24
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
25 Assert screamed here before, should go by without consequence
1408
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
26
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
27 $ hg commit -m 'is there a bug?'
11812
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
28 $ cd ..
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
29
11812
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
30
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
31 == fifo & ignore ==
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
32
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
33 $ hg init test; cd test;
1408
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
34
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
35 $ mkdir dir
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
36 $ touch a.c dir/a.o dir/b.o
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
37
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
38 test what happens if we want to trick hg
1408
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
39
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
40 $ hg commit -A -m 0
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
41 adding a.c
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
42 adding dir/a.o
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
43 adding dir/b.o
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
44 $ echo "relglob:*.o" > .hgignore
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
45 $ rm a.c
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
46 $ rm dir/a.o
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
47 $ rm dir/b.o
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
48 $ mkdir dir/a.o
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
49 $ ln -s nonexist dir/b.o
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
50 $ mkfifo a.c
1408
5010207c3527 symlink unit test
Matthew Elder <sseses@gmail.com>
parents:
diff changeset
51
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
52 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
53
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
54 $ hg status
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
55 M dir/b.o
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
56 ! a.c
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
57 ! dir/a.o
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
58 ? .hgignore
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
59 $ hg status a.c
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
60 a.c: unsupported file type (type is fifo)
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
61 ! a.c
11812
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
62 $ cd ..
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
63
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
64
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
65 == symlinks from outside the tree ==
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
66
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
67 test absolute path through symlink outside repo
1487
2bc6cd62a29c fix handling of files of unsupported type in the walk code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1408
diff changeset
68
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
69 $ p=`pwd`
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
70 $ hg init x
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
71 $ ln -s x y
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
72 $ cd x
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
73 $ touch f
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
74 $ hg add f
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
75 $ hg status "$p"/y/f
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
76 A f
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
77
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
78 try symlink outside repo to file inside
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
79
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
80 $ ln -s x/f ../z
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
81
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
82 this should fail
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
83
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
84 $ hg status ../z && { echo hg mistakenly exited with status 0; exit 1; } || :
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
85 abort: ../z not under root
11812
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
86 $ cd ..
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
87
11812
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
88
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
89 == cloning symlinks ==
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
90 $ hg init clone; cd clone;
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
91
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
92 try cloning symlink in a subdir
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
93 1. commit a symlink
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
94
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
95 $ mkdir -p a/b/c
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
96 $ cd a/b/c
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
97 $ ln -s /path/to/symlink/source demo
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
98 $ cd ../../..
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
99 $ hg stat
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
100 ? a/b/c/demo
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
101 $ hg commit -A -m 'add symlink in a/b/c subdir'
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
102 adding a/b/c/demo
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
103
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
104 2. clone it
4137
26596a6b6518 Create the parent directory when checking out symlinks.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3988
diff changeset
105
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
106 $ cd ..
11812
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
107 $ hg clone clone clonedest
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
108 updating to branch default
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
109 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
110
11812
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
111
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
112 == symlink and git diffs ==
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
113
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
114 git symlink diff
4137
26596a6b6518 Create the parent directory when checking out symlinks.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3988
diff changeset
115
11812
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
116 $ cd clonedest
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
117 $ hg diff --git -r null:tip
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
118 diff --git a/a/b/c/demo b/a/b/c/demo
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
119 new file mode 120000
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
120 --- /dev/null
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
121 +++ b/a/b/c/demo
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
122 @@ -0,0 +1,1 @@
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
123 +/path/to/symlink/source
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
124 \ No newline at end of file
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
125 $ hg export --git tip > ../sl.diff
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
126
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
127 import git symlink diff
5116
35d47b06d4e3 patch: add git symlink support
Brendan Cully <brendan@kublai.com>
parents: 4882
diff changeset
128
11798
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
129 $ hg rm a/b/c/demo
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
130 $ hg commit -m'remove link'
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
131 $ hg import ../sl.diff
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
132 applying ../sl.diff
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
133 $ hg diff --git -r 1:tip
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
134 diff --git a/a/b/c/demo b/a/b/c/demo
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
135 new file mode 120000
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
136 --- /dev/null
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
137 +++ b/a/b/c/demo
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
138 @@ -0,0 +1,1 @@
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
139 +/path/to/symlink/source
1ab3d8977bdf tests: unify test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10775
diff changeset
140 \ No newline at end of file
11812
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
141
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
142 == symlinks and addremove ==
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
143
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
144 directory moved and symlinked
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
145
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
146 $ mkdir foo
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
147 $ touch foo/a
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
148 $ hg ci -Ama
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
149 adding foo/a
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
150 $ mv foo bar
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
151 $ ln -s bar foo
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
152
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
153 now addremove should remove old files
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
154
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
155 $ hg addremove
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
156 adding bar/a
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
157 adding foo
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
158 removing foo/a
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
159 $ cd ..
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
160
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
161 == root of repository is symlinked ==
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
162
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
163 $ hg init root
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
164 $ ln -s root link
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
165 $ cd root
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
166 $ echo foo > foo
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
167 $ hg status
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
168 ? foo
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
169 $ hg status ../link
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
170 ? foo
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
171 $ cd ..
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
172
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
173
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
174
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
175
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
176 $ hg init b
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
177 $ cd b
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
178 $ ln -s nothing dangling
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
179 $ hg commit -m 'commit symlink without adding' dangling
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
180 abort: dangling: file not tracked!
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11812
diff changeset
181 [255]
11812
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
182 $ hg add dangling
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
183 $ hg commit -m 'add symlink'
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
184
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
185 $ hg tip -v
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
186 changeset: 0:cabd88b706fc
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
187 tag: tip
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
188 user: test
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
189 date: Thu Jan 01 00:00:00 1970 +0000
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
190 files: dangling
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
191 description:
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
192 add symlink
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
193
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
194
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
195 $ hg manifest --debug
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
196 2564acbe54bbbedfbf608479340b359f04597f80 644 @ dangling
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
197 $ $TESTDIR/readlink.py dangling
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
198 dangling -> nothing
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
199
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
200 $ rm dangling
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
201 $ ln -s void dangling
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
202 $ hg commit -m 'change symlink'
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
203 $ $TESTDIR/readlink.py dangling
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
204 dangling -> void
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
205
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
206
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
207 modifying link
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
208
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
209 $ rm dangling
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
210 $ ln -s empty dangling
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
211 $ $TESTDIR/readlink.py dangling
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
212 dangling -> empty
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
213
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
214
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
215 reverting to rev 0:
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
216
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
217 $ hg revert -r 0 -a
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
218 reverting dangling
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
219 $ $TESTDIR/readlink.py dangling
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
220 dangling -> nothing
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
221
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
222
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
223 backups:
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
224
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
225 $ $TESTDIR/readlink.py *.orig
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
226 dangling.orig -> empty
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
227 $ rm *.orig
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
228 $ hg up -C
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
229 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
230
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
231 copies
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
232
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
233 $ hg cp -v dangling dangling2
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
234 copying dangling to dangling2
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
235 $ hg st -Cmard
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
236 A dangling2
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
237 dangling
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
238 $ $TESTDIR/readlink.py dangling dangling2
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
239 dangling -> void
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
240 dangling2 -> void
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
241
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
242
12399
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12316
diff changeset
243 Issue995: hg copy -A incorrectly handles symbolic links
11812
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
244
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
245 $ hg up -C
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
246 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
247 $ mkdir dir
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
248 $ ln -s dir dirlink
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
249 $ hg ci -qAm 'add dirlink'
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
250 $ mkdir newdir
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
251 $ mv dir newdir/dir
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
252 $ mv dirlink newdir/dirlink
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
253 $ hg mv -A dirlink newdir/dirlink
6f12f53ae795 tests: merge all 4 test-symlink* into test-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11798
diff changeset
254