##// END OF EJS Templates
sslutil: try to find CA certficates in well-known locations...
sslutil: try to find CA certficates in well-known locations Many Linux distros and other Nixen have CA certificates in well-defined locations. Rather than potentially fail to load any CA certificates at all (which will always result in a certificate verification failure), we scan for paths to known CA certificate files and load one if seen. Because a proper Mercurial install will have the path to the CA certificate file defined at install time, we print a warning that the install isn't proper and provide a URL with instructions to correct things. We only perform path-based fallback on Pythons that don't know how to call into OpenSSL to load the default verify locations. This is because we trust that Python/OpenSSL is properly configured and knows better than Mercurial. So this new code effectively only runs on Python <2.7.9 (technically Pythons without the modern ssl module).

File last commit:

r25636:bfe9ed85 stable
r29500:4b16a5bd default
Show More
test-locate.t
154 lines | 1.9 KiB | text/troff | Tads3Lexer
$ hg init repo
$ cd repo
$ echo 0 > a
$ echo 0 > b
$ echo 0 > t.h
$ mkdir t
$ echo 0 > t/x
$ echo 0 > t/b
$ echo 0 > t/e.h
$ mkdir dir.h
$ echo 0 > dir.h/foo
$ hg ci -A -m m
adding a
adding b
adding dir.h/foo
adding t.h
adding t/b
adding t/e.h
adding t/x
$ touch nottracked
$ hg locate a
a
$ hg locate NONEXISTENT
[1]
$ hg locate
a
b
dir.h/foo
t.h
t/b
t/e.h
t/x
$ hg rm a
$ hg ci -m m
$ hg locate a
[1]
$ hg locate NONEXISTENT
[1]
$ hg locate relpath:NONEXISTENT
[1]
$ hg locate
b
dir.h/foo
t.h
t/b
t/e.h
t/x
$ hg locate -r 0 a
a
$ hg locate -r 0 NONEXISTENT
[1]
$ hg locate -r 0 relpath:NONEXISTENT
[1]
$ hg locate -r 0
a
b
dir.h/foo
t.h
t/b
t/e.h
t/x
-I/-X with relative path should work:
$ cd t
$ hg locate
b
dir.h/foo
t.h
t/b
t/e.h
t/x
$ hg locate -I ../t
t/b
t/e.h
t/x
Issue294: hg remove --after dir fails when dir.* also exists
$ cd ..
$ rm -r t
$ hg rm t/b
$ hg locate 't/**'
t/b (glob)
t/e.h (glob)
t/x (glob)
$ hg files
b
dir.h/foo (glob)
t.h
t/e.h (glob)
t/x (glob)
$ hg files b
b
$ mkdir otherdir
$ cd otherdir
$ hg files path:
../b (glob)
../dir.h/foo (glob)
../t.h (glob)
../t/e.h (glob)
../t/x (glob)
$ hg files path:.
../b (glob)
../dir.h/foo (glob)
../t.h (glob)
../t/e.h (glob)
../t/x (glob)
$ hg locate b
../b (glob)
../t/b (glob)
$ hg locate '*.h'
../t.h (glob)
../t/e.h (glob)
$ hg locate path:t/x
../t/x (glob)
$ hg locate 're:.*\.h$'
../t.h (glob)
../t/e.h (glob)
$ hg locate -r 0 b
../b (glob)
../t/b (glob)
$ hg locate -r 0 '*.h'
../t.h (glob)
../t/e.h (glob)
$ hg locate -r 0 path:t/x
../t/x (glob)
$ hg locate -r 0 're:.*\.h$'
../t.h (glob)
../t/e.h (glob)
$ hg files
../b (glob)
../dir.h/foo (glob)
../t.h (glob)
../t/e.h (glob)
../t/x (glob)
$ hg files .
[1]
$ cd ../..