Mercurial > hg > mercurial-crew-with-dirclash
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 |
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 |