Page MenuHomePhabricator

D9263.diff
No OneTemporary

D9263.diff

diff --git a/scripts/arcanist.php b/scripts/arcanist.php
--- a/scripts/arcanist.php
+++ b/scripts/arcanist.php
@@ -80,6 +80,9 @@
}
$configuration_manager = new ArcanistConfigurationManager();
+ if ($custom_arcrc) {
+ $configuration_manager->setUserConfigurationFileLocation($custom_arcrc);
+ }
$global_config = $configuration_manager->readUserArcConfig();
$system_config = $configuration_manager->readSystemArcConfig();
@@ -141,9 +144,6 @@
$working_copy);
}
- if ($custom_arcrc) {
- $configuration_manager->setUserConfigurationFileLocation($custom_arcrc);
- }
$user_config = $configuration_manager->readUserConfigurationFile();
$config_class = $working_copy->getProjectConfig('arcanist_configuration');
diff --git a/src/configuration/ArcanistConfigurationManager.php b/src/configuration/ArcanistConfigurationManager.php
--- a/src/configuration/ArcanistConfigurationManager.php
+++ b/src/configuration/ArcanistConfigurationManager.php
@@ -10,6 +10,7 @@
private $runtimeConfig = array();
private $workingCopy = null;
private $customArcrcFilename = null;
+ private $userConfigCache = null;
public function setWorkingCopyIdentity(
ArcanistWorkingCopyIdentity $working_copy) {
@@ -159,13 +160,11 @@
* @{method:readUserArcConfig}.
*/
public function readUserConfigurationFile() {
- static $user_config;
- if ($user_config === null) {
+ if ($this->userConfigCache === null) {
$user_config = array();
- $user_config_path = self::getUserConfigurationFileLocation();
+ $user_config_path = $this->getUserConfigurationFileLocation();
$console = PhutilConsole::getConsole();
-
if (Filesystem::pathExists($user_config_path)) {
$console->writeLog(
"%s\n",
@@ -212,8 +211,10 @@
$user_config_path));
}
+ $this->userConfigCache = $user_config;
}
- return $user_config;
+
+ return $this->userConfigCache;
}
/**
@@ -224,7 +225,7 @@
$json_encoder = new PhutilJSON();
$json = $json_encoder->encodeFormatted($config);
- $path = self::getUserConfigurationFileLocation();
+ $path = $this->getUserConfigurationFileLocation();
Filesystem::writeFile($path, $json);
if (!phutil_is_windows()) {
@@ -239,6 +240,7 @@
}
$this->customArcrcFilename = $custom_arcrc;
+ $this->userConfigCache = null;
}
public function getUserConfigurationFileLocation() {
@@ -254,16 +256,15 @@
}
public function readUserArcConfig() {
- return idx(self::readUserConfigurationFile(), 'config', array());
+ return idx($this->readUserConfigurationFile(), 'config', array());
}
public function writeUserArcConfig(array $options) {
- $config = self::readUserConfigurationFile();
+ $config = $this->readUserConfigurationFile();
$config['config'] = $options;
- self::writeUserConfigurationFile($config);
+ $this->writeUserConfigurationFile($config);
}
-
public function getSystemArcConfigLocation() {
if (phutil_is_windows()) {
return Filesystem::resolvePath(
@@ -278,7 +279,7 @@
static $system_config;
if ($system_config === null) {
$system_config = array();
- $system_config_path = self::getSystemArcConfigLocation();
+ $system_config_path = $this->getSystemArcConfigLocation();
$console = PhutilConsole::getConsole();

File Metadata

Mime Type
text/plain
Expires
Sun, Mar 9, 7:31 PM (2 d, 13 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7383786
Default Alt Text
D9263.diff (3 KB)

Event Timeline