annotate tests/test-remotefilelog-share.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 0800d9e6e216
children d252f51ab032
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
40722
0800d9e6e216 tests: disable remotefilelog on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 40577
diff changeset
1 #require no-windows
0800d9e6e216 tests: disable remotefilelog on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 40577
diff changeset
2
40575
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
3 $ . "$TESTDIR/remotefilelog-library.sh"
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
4
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
5 $ cat >> $HGRCPATH <<EOF
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
6 > [extensions]
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
7 > remotefilelog=
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
8 > share=
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
9 > EOF
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
10
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
11 $ hg init master
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
12 $ cd master
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
13 $ cat >> .hg/hgrc <<EOF
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
14 > [remotefilelog]
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
15 > server=True
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
16 > EOF
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
17 $ echo x > x
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
18 $ hg commit -qAm x
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
19
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
20 $ cd ..
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
21
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
22
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
23 $ hgcloneshallow ssh://user@dummy/master source --noupdate -q
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
24 $ hg share source dest
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
25 updating working directory
fb490d798be0 share: reload repo after adjusting it in postshare()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
26 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
40577
157f0e29eaa3 remotefilelog: avoid accessing repo instance after dispatch
Martin von Zweigbergk <martinvonz@google.com>
parents: 40575
diff changeset
27 $ hg -R dest unshare