tests/test-issue352
author Bryan O'Sullivan <bos@serpentine.com>
Tue, 24 Apr 2007 10:53:25 -0700
changeset 4369 d7ad1e42a368
parent 4292 b90e323a4781
child 5091 2184378b20b5
permissions -rwxr-xr-x
util._matcher: speed up regexp matching. In 4babaa52badf, Benoit made a change that substantially slows matching when a big .hgignore file is in play, because it calls into the regexp matching engine potentially hundreds of times per file to be matched. I've partly rolled back his change, so that we only call into the matcher once per file, but preserved the ability to report a meaningful error message if there's a syntax error in the regexp.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4292
b90e323a4781 Use printf(1) instead of using bash-specific shell code.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 4181
diff changeset
     1
#!/bin/sh
3607
f4c9bb4ad7b1 issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
     2
# http://www.selenic.com/mercurial/bts/issue352
f4c9bb4ad7b1 issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
     3
f4c9bb4ad7b1 issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
     4
hg init foo
f4c9bb4ad7b1 issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
     5
cd foo
f4c9bb4ad7b1 issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
     6
4292
b90e323a4781 Use printf(1) instead of using bash-specific shell code.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents: 4181
diff changeset
     7
A=`printf 'he\rllo'`
3607
f4c9bb4ad7b1 issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
     8
f4c9bb4ad7b1 issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
     9
echo foo > "$A"
f4c9bb4ad7b1 issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
    10
hg add
f4c9bb4ad7b1 issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
    11
hg ci -A -m m
f4c9bb4ad7b1 issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
    12
rm "$A"
4181
08d31e43592a Leave normalization of patterns to util._matcher
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3607
diff changeset
    13
08d31e43592a Leave normalization of patterns to util._matcher
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3607
diff changeset
    14
echo foo > "hell
08d31e43592a Leave normalization of patterns to util._matcher
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3607
diff changeset
    15
o"
3607
f4c9bb4ad7b1 issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
    16
hg add
f4c9bb4ad7b1 issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
    17
hg ci -A -m m
f4c9bb4ad7b1 issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
    18
4181
08d31e43592a Leave normalization of patterns to util._matcher
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3607
diff changeset
    19
echo foo > "$A"
08d31e43592a Leave normalization of patterns to util._matcher
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3607
diff changeset
    20
hg debugwalk
08d31e43592a Leave normalization of patterns to util._matcher
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3607
diff changeset
    21
3607
f4c9bb4ad7b1 issue352: disallow '\n' and '\r' in filenames (dirstate and manifest)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
    22
exit 0