1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2025-01-01 10:20:58 +01:00

(stable) Promote 2017 Week 29

This commit is contained in:
epriestley 2017-07-21 15:52:35 -07:00
commit 9a9009f34d

View file

@ -641,16 +641,33 @@ function arcanist_load_libraries(
if ($ex->getLibrary() != 'arcanist') { if ($ex->getLibrary() != 'arcanist') {
throw $ex; throw $ex;
} }
$arc_dir = dirname(dirname(__FILE__));
$error = pht( // NOTE: If you are running `arc` against itself, we ignore the library
"You are trying to run one copy of Arcanist on another copy of ". // conflict created by loading the local `arc` library (in the current
"Arcanist. This operation is not supported. To execute Arcanist ". // working directory) and continue without loading it.
"operations against this working copy, run `%s` (from the current ".
"working copy) not some other copy of '%s' (you ran one from '%s').", // This means we only execute code in the `arcanist/` directory which is
'./bin/arc', // associated with the binary you are running, whereas we would normally
'arc', // execute local code.
$arc_dir);
throw new ArcanistUsageException($error); // This can make `arc` development slightly confusing if your setup is
// especially bizarre, but it allows `arc` to be used in automation
// workflows more easily. For some context, see PHI13.
$executing_directory = dirname(dirname(__FILE__));
$working_directory = dirname($location);
fwrite(
STDERR,
tsprintf(
"**<bg:yellow> %s </bg>** %s\n",
pht('VERY META'),
pht(
'You are running one copy of Arcanist (at path "%s") against '.
'another copy of Arcanist (at path "%s"). Code in the current '.
'working directory will not be loaded or executed.',
$executing_directory,
$working_directory)));
} }
} }
} }