annotate tests/test-no-symlinks.t @ 44261:04a3ae7aba14

chg: force-set LC_CTYPE on server start to actual value from the environment Python 3.7+ will "coerce" the LC_CTYPE variable in many instances, and this can cause issues with chg being able to start up. D7550 attempted to fix this, but a combination of a misreading of the way that python3.7 does the coercion and an untested state (LC_CTYPE being set to an invalid value) meant that this was still not quite working. This change will cause differences between chg and hg: hg will have the LC_CTYPE environment variable coerced, while chg will not. This is unlikely to cause any detectable behavior differences in what Mercurial itself outputs, but it does have two known effects: - When using hg, the coerced LC_CTYPE will be passed to subprocesses, even non-python ones. Using chg will remove the coercion, and this will not happen. This is arguably more correct behavior on chg's part. - On macOS, if you set your region to Brazil but your language to English, this isn't representable in locale strings, so macOS sets LC_CTYPE=UTF-8. If this value is passed along when ssh'ing to a non-macOS machine, some functions (such as locale.setlocale()) may raise an exception due to an unsupported locale setting. This is most easily encountered when doing an interactive commit/split/etc. when using ui.interface=curses. Differential Revision: https://phab.mercurial-scm.org/D8039
author Kyle Lippincott <spectral@google.com>
date Wed, 29 Jan 2020 13:39:50 -0800
parents 0612e4c6fda0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 14116
diff changeset
1 #require no-symlink
5085
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
2
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
3 # The following script was used to create the bundle:
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
4 #
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
5 # hg init symlinks
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
6 # cd symlinks
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
7 # echo a > a
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
8 # mkdir d
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
9 # echo b > d/b
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
10 # ln -s a a.lnk
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
11 # ln -s d/b d/b.lnk
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
12 # hg ci -Am t
5089
9b5ae133bd5a test-no-symlinks: rename .bundle into .hg for consistency.
Patrick Mezard <pmezard@gmail.com>
parents: 5085
diff changeset
13 # hg bundle --base null ../test-no-symlinks.hg
5085
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
14
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
15 Extract a symlink on a platform not supporting them
5085
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
16
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
17 $ hg init t
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
18 $ cd t
14116
cd3032437064 tests: move test bundles in a bundles/ subdirectory
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12917
diff changeset
19 $ hg pull -q "$TESTDIR/bundles/test-no-symlinks.hg"
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
20 $ hg update
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
21 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
22 $ cat a.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
23 a
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
24 $ cat d/b.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
25 d/b
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
26
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
27 Copy a symlink and move another
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
28
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
29 $ hg copy a.lnk d/a2.lnk
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
30 $ hg mv d/b.lnk b2.lnk
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
31 $ hg ci -Am copy
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
32 $ cat d/a2.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
33 a
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
34 $ cat b2.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
35 d/b
5085
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
36
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
37 Bundle and extract again
5085
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
38
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
39 $ hg bundle --base null ../symlinks.hg
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
40 2 changesets found
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
41 $ cd ..
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
42 $ hg init t2
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
43 $ cd t2
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
44 $ hg pull ../symlinks.hg
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
45 pulling from ../symlinks.hg
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
46 requesting all changes
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
47 adding changesets
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
48 adding manifests
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
49 adding file changes
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
50 added 2 changesets with 6 changes to 6 files
39520
0612e4c6fda0 tests: stabilize test-no-symlink
Matt Harbison <matt_harbison@yahoo.com>
parents: 34814
diff changeset
51 new changesets d326ae2d01ee:71d85cf3ba90 (2 drafts)
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
52 (run 'hg update' to get a working copy)
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
53 $ hg update
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
54 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
55 $ cat a.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
56 a
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
57 $ cat d/a2.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
58 a
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
59 $ cat b2.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
60 d/b