Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-symlink-basic @ 5483:0c43f87baba3 default tip
Fix file-changed-to-dir and dir-to-file commits (issue660).
Allow adding to dirstate files that clash with previously existing
but marked for removal. Protect from reintroducing clashes by revert.
This change doesn't address related issues with update. Current
workaround is to do "clean" update by manually removing conflicting
files/dirs from working directory.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sat, 27 Oct 2007 16:27:55 +0400 |
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 |