首页 文章

用于创建存储库的phabricator命令行

提问于
浏览
5

我试图使用Phabricator的代码审查功能来评定课堂上学生提交的代码 . 代码将提交给Subversion服务器,其中每个学生在服务器上的顶级位置下都有自己的文件夹 . 对于当前的类,我无法控制根位置 . 如果我这样做,我会移动它,所以有一个文件夹,其中包含我所需要的所有类的学生存储库,并在该文件夹中创建一个repo,并从较低的分支区域进行区分,但此时我不能 .

我已经找到了一种方法,可以从命令行中完成Phabricator中我需要做的几乎所有事情,例如创建每个学生用户并生成差异 . 只有一件事我无法弄清楚如何做:创建一个存储库 .

我查看了Phabricator和Arcanist的帮助中的选项,但我没有看到任何似乎做我需要的东西 .

有谁知道是否可以从Phabricator或arc命令行创建存储库?或者以其他一些自动方式?

谢谢!

2 回答

  • 0

    我们现在没有一种非常简单的方法可以执行此操作,但您可以使用 arc 来调用Conduit API . 将JSON blob管道输入:

    echo '{"name":"repo name", ...}' | arc call-conduit repository.create
    

    您可以在Web UI上访问 /conduit/method/repository.create/ 以获取呼叫接受的参数列表 .

  • 7

    更新到Evan Priestley的回答:API方法已更改为 diffusion.repository.edit .

    开发人员文档解释了如何创建和激活存储库here . 从该文件复制:

    创建一个回购:

    $ echo '{
      "transactions": [
        {
          "type": "vcs",
          "value": "git"
        },
        {
          "type": "name",
          "value": "Poetry"
        }
      ]
    }' | arc call-conduit diffusion.repository.edit
    

    使用第一个响应中的事务ID设置远程URL(如果需要):

    $ echo '{
      "transactions": [
        {
          "type": "repository",
          "value": "PHID-REPO-7vm42oayez2rxcmpwhuv"
        },
        {
          "type": "uri",
          "value": "https://github.com/epriestley/poems.git"
        },
        {
          "type": "io",
          "value": "observe"
        }
      ]
    }' | arc call-conduit diffusion.uri.edit
    

    激活回购:

    $ echo '{
      "objectIdentifier": "PHID-REPO-7vm42oayez2rxcmpwhuv",
      "transactions": [
        {
          "type": "status",
          "value": "active"
        }
      ]
    }' | arc call-conduit diffusion.repository.edit
    

    Web UI中的所有有效参数列表均可在 /conduit/method/diffusion.repository.edit/ 中找到 .

相关问题