annotate tests/test-commit @ 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 9e3e975258a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1196
3738e85ead07 Make date/timezone validation in changelog.add more robust. Add test.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
1 #!/bin/sh
3738e85ead07 Make date/timezone validation in changelog.add more robust. Add test.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
2
3787
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
3 cleanpath()
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
4 {
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
5 sed -e "s:/.*\(/test/.*\):...\1:"
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
6 }
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
7
3709
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
8 echo % commit date test
1196
3738e85ead07 Make date/timezone validation in changelog.add more robust. Add test.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
9 hg init test
3738e85ead07 Make date/timezone validation in changelog.add more robust. Add test.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
10 cd test
3738e85ead07 Make date/timezone validation in changelog.add more robust. Add test.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
11 echo foo > foo
3738e85ead07 Make date/timezone validation in changelog.add more robust. Add test.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
12 hg add foo
3738e85ead07 Make date/timezone validation in changelog.add more robust. Add test.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
13 hg commit -d '0 0' -m commit-1
3738e85ead07 Make date/timezone validation in changelog.add more robust. Add test.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
14 echo foo >> foo
3738e85ead07 Make date/timezone validation in changelog.add more robust. Add test.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
15 hg commit -d '1 4444444' -m commit-3
3738e85ead07 Make date/timezone validation in changelog.add more robust. Add test.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
16 hg commit -d '1 15.1' -m commit-4
3738e85ead07 Make date/timezone validation in changelog.add more robust. Add test.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
17 hg commit -d 'foo bar' -m commit-5
3738e85ead07 Make date/timezone validation in changelog.add more robust. Add test.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
18 hg commit -d ' 1 4444' -m commit-6
3738e85ead07 Make date/timezone validation in changelog.add more robust. Add test.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
19 hg commit -d '111111111111 0' -m commit-7
1488
08c7851969cc only files in normal state should be marked as deleted
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1203
diff changeset
20
3709
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
21 echo % partial commit test
1488
08c7851969cc only files in normal state should be marked as deleted
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1203
diff changeset
22 echo bar > bar
08c7851969cc only files in normal state should be marked as deleted
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1203
diff changeset
23 hg add bar
08c7851969cc only files in normal state should be marked as deleted
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1203
diff changeset
24 rm bar
3787
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
25 hg commit -d "1000000 0" -m commit-8 2>&1 | cleanpath
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
26
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
27 hg -q revert -a --no-backup
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
28
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
29 mkdir dir
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
30 echo boo > dir/file
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
31 hg add
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
32 hg -v commit -d '0 0' -m commit-9 dir
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
33
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
34 echo > dir.file
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
35 hg add
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
36 hg commit -d '0 0' -m commit-10 dir dir.file 2>&1 | cleanpath
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
37
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
38 echo >> dir/file
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
39 mkdir bleh
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
40 mkdir dir2
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
41 cd bleh
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
42 hg commit -d '0 0' -m commit-11 . 2>&1 | cleanpath
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
43 hg commit -d '0 0' -m commit-12 ../dir ../dir2 2>&1 | cleanpath
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
44 hg -v commit -d '0 0' -m commit-13 ../dir
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
45 cd ..
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
46
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
47 hg commit -d '0 0' -m commit-14 does-not-exist 2>&1 | cleanpath
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
48 ln -s foo baz
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
49 hg commit -d '0 0' -m commit-15 baz 2>&1 | cleanpath
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
50 touch quux
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
51 hg commit -d '0 0' -m commit-16 quux 2>&1 | cleanpath
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
52 echo >> dir/file
8d603f8567ae make hg commit <dirname> work again
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3709
diff changeset
53 hg -v commit -d '0 0' -m commit-17 dir/file
3709
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
54 cd ..
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
55
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
56 echo % partial subdir commit test
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
57 hg init test2
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
58 cd test2
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
59 mkdir foo
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
60 echo foo > foo/foo
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
61 mkdir bar
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
62 echo bar > bar/bar
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
63 hg add
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
64 hg ci -d '1000000 0' -u test -m commit-subdir-1 foo
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
65 hg ci -d '1000001 0' -u test -m commit-subdir-2 bar
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
66 echo % subdir log 1
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
67 hg log -v foo
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
68 echo % subdir log 2
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
69 hg log -v bar
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
70 echo % full log
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
71 hg log -v
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
72 cd ..
38291d9c8c1c Expand test-commit to cover one of the recent bugs.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 1933
diff changeset
73
4253
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
74 echo % dot and subdir commit test
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
75 hg init test3
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
76 cd test3
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
77 mkdir foo
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
78 echo foo content > foo/plain-file
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
79 hg add foo/plain-file
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
80 hg ci -d '1000000 0' -u test -m commit-foo-subdir foo
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
81 echo modified foo content > foo/plain-file
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
82 hg ci -d '2000000 0' -u test -m commit-foo-dot .
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
83 echo % full log
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
84 hg log -v
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
85 echo % subdir log
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
86 cd foo
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
87 hg log .
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
88 cd ..
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
89 cd ..
9e3e975258a9 tests: expand test-commit a bit to test 'hg commit .' too
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 3787
diff changeset
90
1203
cb4c423cbb38 Get test-commit to exit cleanly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1196
diff changeset
91 exit 0