tests/test-up-local-change
author Emanuele Aina <em@nerd.ocracy.org>
Wed, 28 Mar 2007 21:34:12 +0200
changeset 4310 c8919eb0f315
parent 3199 096f1c73cdc3
child 4365 46280c004f22
permissions -rwxr-xr-x
purge: abort with missing files avoiding problems with name-mangling fs In a name mangling filesystem (e.g. a case insensitive one) dirstate.walk() can yield filenames different from the ones stored in the dirstate. This already confuses the status and add commands, but with purge this may cause data loss. To prevent this purge refuses to work if there are missing files and has a 'force' option if the user knows it is safe. Even with the force option purge checks if any of the missing files is still available in the working dir: if so there may be some problem with the underlying filesystem, so it unconditionally aborts.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
544
3d4d5f2aba9a Remove bashisms and use /bin/sh instead of /bin/bash.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 485
diff changeset
     1
#!/bin/sh
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
     2
800
ec85f9e6f3b1 Don't use 'set -x', fix exports, sed and hexdump usage for Solaris.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 793
diff changeset
     3
set -e
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
     4
mkdir r1
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
     5
cd r1
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
     6
hg init
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
     7
echo a > a
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
     8
hg addremove
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1674
diff changeset
     9
hg commit -m "1" -d "1000000 0"
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    10
485
c5705ab9cebd [PATCH] add clone command
mpm@selenic.com
parents: 350
diff changeset
    11
hg clone . ../r2
c5705ab9cebd [PATCH] add clone command
mpm@selenic.com
parents: 350
diff changeset
    12
cd ../r2
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    13
hg up
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    14
echo abc > a
3199
096f1c73cdc3 Add -D/--nodates options to hg diff/export that removes dates from diff headers
Stephen Darnell <stephen@darnell.plus.com>
parents: 2283
diff changeset
    15
hg diff --nodates
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    16
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    17
cd ../r1
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    18
echo b > b
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    19
echo a2 > a
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    20
hg addremove
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1674
diff changeset
    21
hg commit -m "2" -d "1000000 0"
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    22
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    23
cd ../r2
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    24
hg -q pull ../r1
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    25
hg status
1674
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    26
hg parents
591
eb46971fc57f options: kill -d for debug
mpm@selenic.com
parents: 547
diff changeset
    27
hg --debug up
1674
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    28
hg parents
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    29
hg --debug up 0
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    30
hg parents
2283
e506c14382fd deprecate 'update -m'. use 'merge' instead.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2065
diff changeset
    31
hg --debug merge || echo failed
1674
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    32
hg parents
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    33
hg --debug up
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    34
hg parents
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    35
hg -v history
3199
096f1c73cdc3 Add -D/--nodates options to hg diff/export that removes dates from diff headers
Stephen Darnell <stephen@darnell.plus.com>
parents: 2283
diff changeset
    36
hg diff --nodates
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
    37
1674
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    38
# create a second head
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    39
cd ../r1
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    40
hg up 0
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    41
echo b2 > b
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    42
echo a3 > a
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    43
hg addremove
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1674
diff changeset
    44
hg commit -m "3" -d "1000000 0"
1674
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    45
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    46
cd ../r2
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    47
hg -q pull ../r1
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    48
hg status
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    49
hg parents
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    50
hg --debug up || echo failed
2283
e506c14382fd deprecate 'update -m'. use 'merge' instead.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2065
diff changeset
    51
hg --debug merge || echo failed
e506c14382fd deprecate 'update -m'. use 'merge' instead.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2065
diff changeset
    52
hg --debug merge -f
1674
dee55c4a4963 abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1581
diff changeset
    53
hg parents
3199
096f1c73cdc3 Add -D/--nodates options to hg diff/export that removes dates from diff headers
Stephen Darnell <stephen@darnell.plus.com>
parents: 2283
diff changeset
    54
hg diff --nodates
2065
2ff37e3bf780 fix update when a locally added file match the target revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1933
diff changeset
    55
2ff37e3bf780 fix update when a locally added file match the target revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1933
diff changeset
    56
# test a local add
2ff37e3bf780 fix update when a locally added file match the target revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1933
diff changeset
    57
cd ..
2ff37e3bf780 fix update when a locally added file match the target revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1933
diff changeset
    58
hg init a
2ff37e3bf780 fix update when a locally added file match the target revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1933
diff changeset
    59
hg init b
2ff37e3bf780 fix update when a locally added file match the target revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1933
diff changeset
    60
echo a > a/a
2ff37e3bf780 fix update when a locally added file match the target revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1933
diff changeset
    61
echo a > b/a
2ff37e3bf780 fix update when a locally added file match the target revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1933
diff changeset
    62
hg --cwd a commit -A -m a
2ff37e3bf780 fix update when a locally added file match the target revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1933
diff changeset
    63
cd b
2ff37e3bf780 fix update when a locally added file match the target revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1933
diff changeset
    64
hg add a 
2ff37e3bf780 fix update when a locally added file match the target revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1933
diff changeset
    65
hg pull -u ../a
2ff37e3bf780 fix update when a locally added file match the target revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1933
diff changeset
    66
hg st