Fixes T10431. Updates the getAliases() method to read every arc configuration file.
- Group Reviewers
- Maniphest Tasks
- T10431: Allow arc alias to read aliases from system configuration file
- rARC7891df6f2584: Read arc aliases from all available configuration files
Added an arc duck alias to /etc/arcconfig, ran arc duck, saw "quack".
Added an arc pig alias to ~/.arcrc via arc alias, ran arc pig, saw "oink oink".
Historically, the initial version of "aliases" was intended to be user specific, so it wasn't a "config" key.
D2191 changed this so that .arcconfig could also define them, but they remained defined in a nonstandard way in .arcrc.
Later changes added more configuration sources and D7271 consolidated configuration management, but since this one was weird it never got expanded to work with other sources.
This makes "aliases" definable in any source using standard precedence rules (runtime, local, project, user, system) by working around the weirdness of the "aliases" key in the ConfigurationManager itself. This isn't especially pretty but makes the behavior correct.