tests/test-remove
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Sat, 09 Jun 2007 01:04:28 -0300
changeset 4531 b51a8138292a
parent 4394 a6436e9333db
permissions -rwxr-xr-x
Avoid extra filelogs entries. Right now, there are some situations in which localrepo.filecommit can create filelog entries even though they're not needed. For example: - permissions for a file have changed; - qrefresh can create a filelog entry identical to its parent (see the added test); - convert-repo creates extra filelog entries in every merge where the first parent has added files (for example, changeset ebebe9577a1a of the kernel repo added extra filelog entries to files in the arch/blackfin directory, even though the merge should only touch the drivers/ata directory). This makes "hg log file" in a converted repo less useful than it could be, since it may mention many merges that don't actually touch that specific file. They all come from the same basic problem: localrepo.commit (through filecommit) creates new filelog entries for all files passed to it (except for some cases during a merge). Patch and test case provided by Benoit. This should fix issue351.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
936
b62d1e738fa9 Add a simple remove test
mpm@selenic.com
parents:
diff changeset
     1
#!/bin/sh
b62d1e738fa9 Add a simple remove test
mpm@selenic.com
parents:
diff changeset
     2
b62d1e738fa9 Add a simple remove test
mpm@selenic.com
parents:
diff changeset
     3
hg init a
b62d1e738fa9 Add a simple remove test
mpm@selenic.com
parents:
diff changeset
     4
cd a
b62d1e738fa9 Add a simple remove test
mpm@selenic.com
parents:
diff changeset
     5
echo a > foo
2309
b2f37c7026ca remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2180
diff changeset
     6
hg rm foo
936
b62d1e738fa9 Add a simple remove test
mpm@selenic.com
parents:
diff changeset
     7
hg add foo
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1570
diff changeset
     8
hg commit -m 1 -d "1000000 0"
2180
82385773df6c make test-remove check some more cases.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1953
diff changeset
     9
hg remove
936
b62d1e738fa9 Add a simple remove test
mpm@selenic.com
parents:
diff changeset
    10
rm foo
b62d1e738fa9 Add a simple remove test
mpm@selenic.com
parents:
diff changeset
    11
hg remove foo
2965
890e285c52a1 revert: require --all to revert all files.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2309
diff changeset
    12
hg revert --all
2180
82385773df6c make test-remove check some more cases.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1953
diff changeset
    13
rm foo
82385773df6c make test-remove check some more cases.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1953
diff changeset
    14
hg remove --after
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1570
diff changeset
    15
hg commit -m 2 -d "1000000 0"
3192
096f1c73cdc3 Add -D/--nodates options to hg diff/export that removes dates from diff headers
Stephen Darnell <stephen@darnell.plus.com>
parents: 2965
diff changeset
    16
hg export --nodates 0
096f1c73cdc3 Add -D/--nodates options to hg diff/export that removes dates from diff headers
Stephen Darnell <stephen@darnell.plus.com>
parents: 2965
diff changeset
    17
hg export --nodates 1
1953
379ab45b91b7 change default strftime format for better portability
TK Soh <teekaysoh@yahoo.com>
parents: 1936
diff changeset
    18
hg log -p -r 0
379ab45b91b7 change default strftime format for better portability
TK Soh <teekaysoh@yahoo.com>
parents: 1936
diff changeset
    19
hg log -p -r 1
936
b62d1e738fa9 Add a simple remove test
mpm@selenic.com
parents:
diff changeset
    20
2309
b2f37c7026ca remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2180
diff changeset
    21
echo a > a
b2f37c7026ca remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2180
diff changeset
    22
hg add a
b2f37c7026ca remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2180
diff changeset
    23
hg rm a
b2f37c7026ca remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2180
diff changeset
    24
hg rm -f a
b2f37c7026ca remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2180
diff changeset
    25
echo b > b
4394
a6436e9333db Also restore old rm -A behavior for inexact patterns
Brendan Cully <brendan@kublai.com>
parents: 4393
diff changeset
    26
mkdir c
a6436e9333db Also restore old rm -A behavior for inexact patterns
Brendan Cully <brendan@kublai.com>
parents: 4393
diff changeset
    27
echo d > c/d
2309
b2f37c7026ca remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2180
diff changeset
    28
hg ci -A -m 3 -d "1000001 0"
b2f37c7026ca remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2180
diff changeset
    29
echo c >> b
b2f37c7026ca remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2180
diff changeset
    30
hg rm b
b2f37c7026ca remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2180
diff changeset
    31
hg rm -f b
4394
a6436e9333db Also restore old rm -A behavior for inexact patterns
Brendan Cully <brendan@kublai.com>
parents: 4393
diff changeset
    32
hg rm -A c/d
4393
cf5f35ec4720 Fix rm -A with no patterns, which I just broke.
Brendan Cully <brendan@kublai.com>
parents: 4392
diff changeset
    33
hg st
4394
a6436e9333db Also restore old rm -A behavior for inexact patterns
Brendan Cully <brendan@kublai.com>
parents: 4393
diff changeset
    34
cat c/d
4393
cf5f35ec4720 Fix rm -A with no patterns, which I just broke.
Brendan Cully <brendan@kublai.com>
parents: 4392
diff changeset
    35
hg revert c
cf5f35ec4720 Fix rm -A with no patterns, which I just broke.
Brendan Cully <brendan@kublai.com>
parents: 4392
diff changeset
    36
hg rm -A
cf5f35ec4720 Fix rm -A with no patterns, which I just broke.
Brendan Cully <brendan@kublai.com>
parents: 4392
diff changeset
    37
hg st
4394
a6436e9333db Also restore old rm -A behavior for inexact patterns
Brendan Cully <brendan@kublai.com>
parents: 4393
diff changeset
    38
hg rm -A c
a6436e9333db Also restore old rm -A behavior for inexact patterns
Brendan Cully <brendan@kublai.com>
parents: 4393
diff changeset
    39
hg st
a6436e9333db Also restore old rm -A behavior for inexact patterns
Brendan Cully <brendan@kublai.com>
parents: 4393
diff changeset
    40
rm c/d
4393
cf5f35ec4720 Fix rm -A with no patterns, which I just broke.
Brendan Cully <brendan@kublai.com>
parents: 4392
diff changeset
    41
hg rm -A
cf5f35ec4720 Fix rm -A with no patterns, which I just broke.
Brendan Cully <brendan@kublai.com>
parents: 4392
diff changeset
    42
hg st
2309
b2f37c7026ca remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2180
diff changeset
    43
936
b62d1e738fa9 Add a simple remove test
mpm@selenic.com
parents:
diff changeset
    44
cd ..
b62d1e738fa9 Add a simple remove test
mpm@selenic.com
parents:
diff changeset
    45
hg clone a b