tests/test-commit
author Maxim Dounin <mdounin@mdounin.ru>
Sat, 27 Oct 2007 16:27:55 +0400
changeset 5483 0c43f87baba3
parent 4253 9e3e975258a9
permissions -rwxr-xr-x
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.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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