Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-symlink-basic @ 5390:36c46e20976a
merge: provide *_ISLINK environment vars to merge helper
Sets HG_MY_ISLINK, HG_OTHER_ISLINK, HG_BASE_ISLINK in environment. Without these variables, it's impossible for the merge application to know whether the 'other' and 'base' files were symlinks in their original contexts. For the purposes of the merge they are always emitted as small text files.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Wed, 03 Oct 2007 23:09:36 +0200 |
parents | 25d753efd48e |
children |
rev | line source |
---|---|
4264
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
1 #!/bin/sh |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
2 |
4882
25d753efd48e
test-symlink-basic: require symlinks availability
Patrick Mezard <pmezard@gmail.com>
parents:
4570
diff
changeset
|
3 "$TESTDIR/hghave" symlink || exit 80 |
25d753efd48e
test-symlink-basic: require symlinks availability
Patrick Mezard <pmezard@gmail.com>
parents:
4570
diff
changeset
|
4 |
4570
6a8e1dd18ba2
commands.commit: symlinks are supported
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4264
diff
changeset
|
5 cleanpath() |
6a8e1dd18ba2
commands.commit: symlinks are supported
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4264
diff
changeset
|
6 { |
6a8e1dd18ba2
commands.commit: symlinks are supported
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4264
diff
changeset
|
7 sed -e "s:/.*\(/test-symlink-basic/.*\):...\1:" |
6a8e1dd18ba2
commands.commit: symlinks are supported
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4264
diff
changeset
|
8 } |
6a8e1dd18ba2
commands.commit: symlinks are supported
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4264
diff
changeset
|
9 |
4264
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
10 cat >> readlink.py <<EOF |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
11 import os |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
12 import sys |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
13 |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
14 for f in sys.argv[1:]: |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
15 print f, '->', os.readlink(f) |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
16 EOF |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
17 |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
18 hg init a |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
19 cd a |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
20 ln -s nothing dangling |
4570
6a8e1dd18ba2
commands.commit: symlinks are supported
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4264
diff
changeset
|
21 hg commit -m 'commit symlink without adding' -d '0 0' dangling 2>&1 | cleanpath |
4264
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
22 hg add dangling |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
23 hg commit -m 'add symlink' -d '0 0' |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
24 |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
25 hg tip -v |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
26 hg manifest --debug |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
27 echo '% rev 0:' |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
28 python ../readlink.py dangling |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
29 |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
30 rm dangling |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
31 ln -s void dangling |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
32 hg commit -m 'change symlink' |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
33 echo '% rev 1:' |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
34 python ../readlink.py dangling |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
35 |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
36 echo '% modifying link' |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
37 rm dangling |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
38 ln -s empty dangling |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
39 python ../readlink.py dangling |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
40 |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
41 echo '% reverting to rev 0:' |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
42 hg revert -r 0 -a |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
43 python ../readlink.py dangling |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
44 |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
45 echo '% backups:' |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
46 python ../readlink.py *.orig |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
47 |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
48 rm *.orig |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
49 hg up -C |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
50 echo '% copies' |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
51 hg cp -v dangling dangling2 |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
52 hg st -Cmard |
af4f0d52f948
Add some tests for symlink tracking
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
53 python ../readlink.py dangling dangling2 |