如何正确设置 phabricator 扩散以反映我的 git 回购

how to properly setup phabricator diffusion to mirror my git repo

我尝试设置扩散来托管我现有的 git 存储库,并作为它的镜像。

我使用 Diffusion -> new repository -> Create a New Hosted Repository -> ... -> Configure More Options First

然后我在更多选项的镜像中添加一个镜像到我现有的 git 远程仓库,并激活扩散仓库。

几次后,我的远程仓库中的所有分支都被删除了!

daemon.log 表示:

 [/opt/phabricator/src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php:374]
[04-Jul-2015 13:18:14 Asia/Shanghai] [2015-07-04 13:18:14] PHLOG: 'Unexpected output while updating repository "r
TEST": [2015-07-04 13:18:14] EXCEPTION: (PhutilProxyException) Error while pushing "TEST" repository to mirrors.
{>} (PhutilAggregateException) Exceptions occurred while mirroring the "TEST" repository.
    - CommandException: Command failed with error #1!
      COMMAND
      git push --verbose --mirror -- 'xxxxx'

      STDOUT
      (empty)

      STDERR
      Pushing to https://xxxxx@git.oschina.net/onefi/treehole-game.git
      POST git-receive-pack (158 bytes)
      remote: error: By default, deleting the current branch is denied, because the next
      remote: error: 'git clone' won't result in any file checked out, causing confusion.
      remote: error:
      remote: error: You can set 'receive.denyDeleteCurrent' configuration variable to
      remote: error: 'warn' or 'ignore' in the remote repository to allow deleting the
      remote: error: current branch, with or without a warning message.
  ...' at [/opt/phabricator/src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php:374]

我只是不知道该怎么办。我不小心成功地设置了我的一个回购协议,但无法设置其他的。

这样做的正确方法是什么?

任何人都可能遇到这个问题,最简单的方法是在 /var/repo 中自己初始化 git 裸仓库,在 phabricator(呼号)中使用相同的目录名称。

然后使用呼号在 phabricator 中创建相应的扩散。然后 Phabricator 将导入现有的 repo。