annotate CONTRIBUTORS @ 50336:cf4d2f31660d stable

chg: populate CHGHG if not set Normally, chg determines which `hg` executable to use by first consulting the `$CHGHG` and `$HG` environment variables, and if neither are present defaults to the `hg` found in the user's `$PATH`. If built with the `HGPATHREL` compiler flag, chg will instead assume that there exists an `hg` executable in the same directory as the `chg` binary and attempt to use that. This can cause problems in situations where there are multiple actively-used Mercurial installations on the same system. When a `chg` client connects to a running command server, the server process performs some basic validation to determine whether a new command server needs to be spawned. These checks include things like checking certain "sensitive" environment variables and config sections, as well as checking whether the mtime of the extensions, hg's `__version__.py` module, and the Python interpreter have changed. Crucially, the command server doesn't explicitly check whether the executable it is running from matches the executable that the `chg` client would have otherwise invoked had there been no existing command server process. Without `HGPATHREL`, this still gets implicitly checked during the validation step, because the only way to specify an alternate hg executable (apart from `$PATH`) is via the `$CHGHG` and `$HG` environment variables, both of which are checked. With `HGPATHREL`, however, the command server has no way of knowing which hg executable the client would have run. This means that a client located at `/version_B/bin/chg` will happily connect to a command server running `/version_A/bin/hg` instead of `/version_B/bin/hg` as expected. A simple solution is to have the client set `$CHGHG` itself, which then allows the command server's environment validation to work as intended. I have tested this manually using two locally built hg installations and it seems to work with no ill effects. That said, I'm not sure how to write an automated test for this since the `chg` available to the tests isn't even built with the `HGPATHREL` compiler flag to begin with.
author Arun Kulshreshtha <akulshreshtha@janestreet.com>
date Mon, 27 Mar 2023 17:30:14 -0400
parents c29efd272395
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5514
c29efd272395 Add note to CONTRIBUTORS file
Matt Mackall <mpm@selenic.com>
parents: 2947
diff changeset
1 [This file is here for historical purposes, all recent contributors
c29efd272395 Add note to CONTRIBUTORS file
Matt Mackall <mpm@selenic.com>
parents: 2947
diff changeset
2 should appear in the changelog directly]
c29efd272395 Add note to CONTRIBUTORS file
Matt Mackall <mpm@selenic.com>
parents: 2947
diff changeset
3
c29efd272395 Add note to CONTRIBUTORS file
Matt Mackall <mpm@selenic.com>
parents: 2947
diff changeset
4 Andrea Arcangeli <andrea at suse.de>
519
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
5 Thomas Arendsen Hein <thomas at intevation.de>
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
6 Goffredo Baroncelli <kreijack at libero.it>
756
5d79dfa5e98f Added new code contributors, fixed Vincent's name, added hint on encoding.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 594
diff changeset
7 Muli Ben-Yehuda <mulix at mulix.org>
5d79dfa5e98f Added new code contributors, fixed Vincent's name, added hint on encoding.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 594
diff changeset
8 Mikael Berthe <mikael at lilotux.net>
1450
199bb2b4ed4a Add Benoit to CONTRIBUTORS
Matt Mackall <mpm@selenic.com>
parents: 1310
diff changeset
9 Benoit Boissinot <bboissin at gmail.com>
2947
2d865068f72e Add self to contributors
Brendan Cully <brendan@kublai.com>
parents: 2162
diff changeset
10 Brendan Cully <brendan at kublai.com>
519
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
11 Vincent Danjean <vdanjean.ml at free.fr>
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
12 Jake Edge <jake at edge2.net>
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
13 Michael Fetterman <michael.fetterman at intel.com>
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
14 Edouard Gomez <ed.gomez at free.fr>
1231
effff847870f CONTRIBUTORS update
mpm@selenic.com
parents: 1080
diff changeset
15 Eric Hopper <hopper at omnifarious.org>
756
5d79dfa5e98f Added new code contributors, fixed Vincent's name, added hint on encoding.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 594
diff changeset
16 Alecs King <alecsk at gmail.com>
1310
7e8a55c9ee5c Updated CONTRIBUTORS.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1231
diff changeset
17 Volker Kleinfeld <Volker.Kleinfeld at gmx.de>
519
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
18 Vadim Lebedev <vadim at mbdsys.com>
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
19 Christopher Li <hg at chrisli.org>
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
20 Chris Mason <mason at suse.com>
2162
dac432a521d8 Add self to CONTRIBUTORS
Colin McMillen <mcmillen@cs.cmu.edu>
parents: 2120
diff changeset
21 Colin McMillen <mcmillen at cs.cmu.edu>
1080
253072f39205 Updated list of contributors.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 896
diff changeset
22 Wojciech Milkowski <wmilkowski at interia.pl>
756
5d79dfa5e98f Added new code contributors, fixed Vincent's name, added hint on encoding.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 594
diff changeset
23 Chad Netzer <chad.netzer at gmail.com>
519
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
24 Bryan O'Sullivan <bos at serpentine.com>
756
5d79dfa5e98f Added new code contributors, fixed Vincent's name, added hint on encoding.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 594
diff changeset
25 Vicent SeguĂ­ Pascual <vseguip at gmail.com>
5d79dfa5e98f Added new code contributors, fixed Vincent's name, added hint on encoding.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 594
diff changeset
26 Sean Perry <shaleh at speakeasy.net>
594
0a2ffc5c906b Update CONTRIBUTORS
mpm@selenic.com
parents: 519
diff changeset
27 Nguyen Anh Quynh <aquynh at gmail.com>
1310
7e8a55c9ee5c Updated CONTRIBUTORS.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1231
diff changeset
28 Ollivier Robert <roberto at keltia.freenix.fr>
2120
c0994047c5ff Added my name to the contributors list.
Alexander Schremmer <alex AT alexanderweb DOT de>
parents: 1450
diff changeset
29 Alexander Schremmer <alex at alexanderweb.de>
519
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
30 Arun Sharma <arun at sharma-home.net>
1231
effff847870f CONTRIBUTORS update
mpm@selenic.com
parents: 1080
diff changeset
31 Josef "Jeff" Sipek <jeffpc at optonline.net>
1310
7e8a55c9ee5c Updated CONTRIBUTORS.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1231
diff changeset
32 Kevin Smith <yarcs at qualitycode.com>
1231
effff847870f CONTRIBUTORS update
mpm@selenic.com
parents: 1080
diff changeset
33 TK Soh <teekaysoh at yahoo.com>
519
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
34 Radoslaw Szkodzinski <astralstorm at gorzow.mm.pl>
851
73a432c8040a Added Samuel Tardieu to contributors list.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 760
diff changeset
35 Samuel Tardieu <sam at rfc1149.net>
519
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
36 K Thananchayan <thananck at yahoo.com>
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
37 Andrew Thompson <andrewkt at aktzero.com>
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
38 Michael S. Tsirkin <mst at mellanox.co.il>
50768efaf6f2 Add a CONTRIBUTORS file
mpm@selenic.com
parents:
diff changeset
39 Rafael Villar Burke <pachi at mmn-arquitectos.com>
855
a107c64c76be Added Tristan Wibberley to contributors.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 851
diff changeset
40 Tristan Wibberley <tristan at wibberley.org>
756
5d79dfa5e98f Added new code contributors, fixed Vincent's name, added hint on encoding.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 594
diff changeset
41 Mark Williamson <mark.williamson at cl.cam.ac.uk>