如何在Phabricator中更改默认的本地存储库路径?

时间:2018-06-25 19:37:11

标签: phabricator

我正在尝试将当前的Phabricator部署(这是Ubuntu VM)迁移到基于Docker的容器。

根据Phab的文档,我应该使用以下命令行:

bin/config set --database repository.default-local-path /my/new/path

上面的命令失败,并显示:

Usage Exception: Config key "repository.default-local-path" is locked and can 
only be set in local configuration. To learn more, see "Configuration Guide: 
Locked and Hidden Configuration" in the documentation.

当我尝试 --database上方的命令时,它成功更改了local.json。但是,似乎存储在数据库中的属性优先于JSON文件中定义的属性。因此,对JSON文件所做的更改无效。

如果这不是bug,如何更改repository.default-local-path?如果是错误,是否有任何解决方法?

1 个答案:

答案 0 :(得分:0)

我认为“锁定”配置选项永远不会在数据库级别设置。此值应在本地配置中提供。

假设您在数据库中设置的值干扰了本地配置,我会说这是一个错误。我所知道的最简单的解决方法是通过编辑振荡器源来解锁config选项。您需要做的如下:

  1. 解锁配置选项。为此,请在PhabricatorRepositoryConfigOptions.php的第25行将源代码从setLocked(true)更改为setLocked(false)
  2. repository.default-local-path中为local.json设置bin/config set的值(您已经设法使用--database(省略了bin/config delete --database repository.default-local-path参数)
  3. 使用以下命令删除数据库值:{{1}}
  4. 正确设置所有内容后,您可以将更改恢复为PhabricatorRepositoryConfigOptions.php,它将使该选项恢复为锁定状态。