标签: phabricator

在修订版本到位之前,如何在Phabricator中需要多次批准?

例如:

  • 我希望所有审阅者(最初指定或稍后添加)批准更改,然后才能被接受.
  • 我想指定需要批准的审阅者和其他批准是可选的其他人.
  • 我想批准更改但同时添加另一位审核人员,该审核人员在被接受之前也需要批准更改.
  • 我希望项目A中的所有修订在被接受之前至少需要来自指定列表的两个人.

可以在UI中配置这种控件吗?在conf文件中?提交修订时?

phabricator

6
推荐指数
1
解决办法
2462
查看次数

Phabricator Notification Server SSL错误

我的Ubuntu 18.04服务器使用Apache 2作为Web服务器,我使用letencrypt为phabricator vhost域创建了一个SSL

  sudo certbot --apache -d phabricator.xxxx.com
Run Code Online (Sandbox Code Playgroud)

我试图为我的制颤器设置notification.servers配置,如下所示:

[
  {
    "type": "client",
    "host": "phabricator.xxxx.com",
    "port": 22280,
    "protocol": "https"
  },
  {
    "type": "admin",
    "host": "127.0.0.1",
    "port": 22281,
    "protocol": "http"
  }
]
Run Code Online (Sandbox Code Playgroud)

但是我在检查通知服务器的配置页面时显示: 在此处输入图片说明

这是vhost配置文件phabricator.xxxx.com.confphabricator.xxxx.com-le-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
     ServerAdmin xxx@xxxx.com
     DocumentRoot /var/www/html/repository/phabricator/webroot
     ServerName phabricator.xxxx.com
     ServerAlias www.phabricator.xxxx.com

           RewriteEngine on
           RewriteRule ^/rsrc/(.*)     -                       [L,QSA]
           RewriteRule ^/favicon.ico   -                       [L,QSA]
           RewriteCond %{REQUEST_URI}  ^/ws/
           RewriteCond %{QUERY_STRING} transport=websocket
           RewriteRule /(.*)           ws://localhost:22280/$1 [B,P,L]
           RewriteRule ^(.*)$          /index.php?__path__=$1  [B,L,QSA]

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

     <Directory /var/www/html/repository/phabricator/webroot/> …
Run Code Online (Sandbox Code Playgroud)

apache ssl websocket phabricator lets-encrypt

6
推荐指数
1
解决办法
102
查看次数

Phabricator安装问题

我正在按照安装步骤操作:http://www.phabricator.com/docs/phabricator/article/Configuration_Guide.html,但无法成功安装Phabricator.即使我已多次检查这些步骤.

我在/ tmp/codereview中创建了一个文件夹,在这个文件夹中,我从Github下载了最新代码,如下所示:

drwxr-xr-x  8 root root 4096 Oct 31 16:28 arcanist
drwxr-xr-x  7 root root 4096 Oct 31 16:28 libphutil
drwxr-xr-x 11 root root 4096 Oct 31 17:23 phabricator
Run Code Online (Sandbox Code Playgroud)

我也设置了env.变量只是手册所示:

$export PHABRICATOR_ENV=/tmp/codereview/phabricator/conf/my
Run Code Online (Sandbox Code Playgroud)

'我'的意思是'my.conf.php',我把MySQL信息放进去了.但是当我执行第一个设置命令时:

$./phabricator/bin/storage upgrade
Run Code Online (Sandbox Code Playgroud)

我收到了以下错误消息:

PHP Warning:  require_once(/tmp/codereview/scripts/__init_script__.php): failed to open stream: No such file or directory in /tmp/codereview/phabricator/bin/storage on line 21
PHP Fatal error:  require_once(): Failed opening required '/tmp/codereview/scripts/__init_script__.php' (include_path='.:/usr/share/pear:/usr/share/php') in /tmp/codereview/phabricator/bin/storage on line 21
Run Code Online (Sandbox Code Playgroud)

我认为这是来自Facebook,许多用户正在下载并使用它.所以安装应该工作,我错过了重要的事情吗?

如果您已成功安装,可以帮助检查我的步骤有什么问题吗?如果你使用一些以前的版本,你的号码是多少,所以我可以使用你的版本.谢谢.

phabricator

5
推荐指数
1
解决办法
5817
查看次数

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

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

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

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

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

谢谢!

phabricator

5
推荐指数
1
解决办法
1359
查看次数

Phabricator不发送电子邮件

我已经让制造商运行,但我没有收到来自用户界面的电子邮件.到目前为止我尝试过的:

  • 使用PHPMailer - 我使用./bin/mail send-test获取测试电子邮件,但是当我通过UI发送用户欢迎电子邮件时,没有任何内容被发送出去
  • 使用Mailgun - 我还使用./bin/mail send-test获取测试电子邮件,Mailgun界面显示已发送的电子邮件.但是,通过界面请求时不会发送电子邮件
  • 我在list-outbound中看到了电子邮件

在这一点上,我认为phabricator使用不同的设置进行发送测试和UI.有什么指针吗?

phabricator

5
推荐指数
1
解决办法
5569
查看次数

为每个功能分支创建修订

我目前正在为我们的项目使用Git和Arcanist.我有一个项目通过phabricator完成了几项任务.一旦我通过arc difffeature branch(A)创建了一个修订版,我想B在修订版关闭之前从另一个功能分支()开始.如何调用arcanist以便为每个单独的分支创建新的差异和修订?当我切换分支并尝试时arc diff,它只是将新版本和差异添加到之前的版本.

git phabricator arcanist

5
推荐指数
1
解决办法
224
查看次数

Phabricator钩和Bitbucket

我想要的设置是将我的存储库放在bitbucket中,然后在phabricator中使用它的任务管理器和差异功能.

在正确设置服务器和bitbucket后,我可以提取任何仓库并进行更新,但是正如文档所述,可能存储库已更新,但是phabricator需要一些时间来注意并因此关闭任务,更新仓库,显示差异等等......为了解决这个问题,他们说可以在主要仓库中使用钩子来告诉phabricator尽快更新.问题是我不知道如何配置bitbucket以便在我提交它时向我的机器发布JSON(bitbucket).

任何人都可以帮助我,或者这是不可能的,我需要某种解决方法吗?

谢谢.

git hook bitbucket phabricator

5
推荐指数
0
解决办法
1166
查看次数

如何设置带有审阅者滞后时间(又名堆叠差异)的 Arcanist 工作流程?

我对 git 相当陌生,对 Phabricator 甚至更陌生,我试图在项目早期建立一个干净的工作流程。据我了解,使用 git 的正确做法是为每个功能创建一个新分支,在分支中实现它,然后将分支合并到 master 中。效果很好,没问题。

输入 Phabricator 并进行预推送代码审查。我创建一个分支,我们称之为“B”,实现一些东西,运行“arc diff”将其进入 Phabricator 的差异审查系统,等待批准,最后运行“arc land”推送到主存储库。到目前为止,一切都很好。但是,我不想在等待审稿人回复我的同时暂停进一步的开发。

因此,我正在审查我的提交,并且我想开始研究细化或依赖功能。我创建了一个分支,我们称之为“SB”,然后开始工作。我让 SB 准备好送审,但 B 尚未获得批准。“arc diff”看起来会将现有提交与我的新更改结合起来,这是我不想要的 - 这是一个新更改,而不是对旧更改的更新。我尝试“arc diff B”,它起作用了,我在 Differential 中得到了新的修订版,其中仅包含新的更改。B获得批准,我在B上运行“arc land”来提交。这有效。

SB获得批准,我在SB上运行“arc land”来提交。我收到一个使用异常 - Arcanist 将两个修订版视为在 SB 中而不是在 master 中。我尝试切换到 master 并运行更新,然后重试。同样的错误。我尝试使用 --revision 标志来实现这两个更改(即使其中之一确实已经实现)。我遇到合并冲突。我解决并提交合并冲突,然后重试。我再次遇到完全相同的合并冲突。

我最终想到了在 SB 上尝试 rebase 的想法,这最终让“arc land”正常工作。所以,我有一个技术上可行的解决方案,但这对我来说似乎很笨拙和尴尬。有没有更好的方法来避免手动变基的需要,只是为了让 Arcanist 认识到不,我已经着陆的修订版不是我现在着陆的一部分?

git phabricator arcanist

5
推荐指数
1
解决办法
2396
查看次数

关于Phabricator的Mercurial:"远程:中止:流意外结束"

我试图推送到远程服务器时遇到此问题.它是Phabricator上的Mercurial存储库.这是我的输出.

hg commit -m "udpate README"
hg push
pushing to ssh://company.server
searching for changes
remote: abort: stream ended unexpectedly (got 0 bytes, expected 4)
Run Code Online (Sandbox Code Playgroud)

3.5.2+20151001在Mac OS 10.10上使用最新版本的Mercurial .

我昨天有这个问题.在那段时间里,虽然我什么也没做,但我可以成功举办两次.

为什么输出看起来像这个问题,这里的问题是不同的,因为我删除了存储库并多次克隆没有任何问题.(我第一次尝试解决问题)

系统管理员和服务器在另一个城市,所以他不能看我的机器.任何帮助将不胜感激.

mercurial phabricator

5
推荐指数
1
解决办法
1664
查看次数

svn:E165001:提交被预提交挂钩(退出代码 255)阻止,没有输出。如何解决这个问题?

我正在尝试使用 Phabricator 配置 svn。到目前为止,除了提交更改之外,一切似乎都正常。当我尝试提交任何代码时,我收到以下错误消息:

svn: E165001: Commit blocked by pre-commit hook (exit code 255) with no output.
Run Code Online (Sandbox Code Playgroud)

需要明确的是,有问题的错误消息是由 svn 客户端程序输出的。它似乎是在遇到各种问题时从 svnserve 发送的,例如由于某种原因无法运行钩子。它不必由钩子提供。

如果我删除预提交挂钩,提交将按预期进行。

出于测试目的,我创建了一个非常简单的钩子,如下所示:

#!/bin/sh

echo "testing" >&2
exit 1
Run Code Online (Sandbox Code Playgroud)

使用此挂钩时我也收到相同的错误消息。 在这种情况下,在这个脚本能够工作之前,尝试解决更复杂的脚本没有多大意义。很可能通过解决这个脚本,原来的脚本也能工作。我一直在使用这个脚本进行测试,我在这个问题中发布的所有内容都适用于这个脚本。 基本上,在这个时间点上,我所呈现的脚本确实是我正在尝试使其工作的脚本。

我已经禁用了 Phabricator 守护进程,否则预提交脚本会被 Phabricator 覆盖。

根据迄今为止我所看到的有关此错误消息的内容,以下是我认为可能有助于解决此问题的一些信息:

  • 该存储库由运行 svnserve 的用户 phd 所有。
  • 预提交挂钩设置为可执行。
#!/bin/sh

echo "testing" >&2
exit 1
Run Code Online (Sandbox Code Playgroud)
  • SELinux 已禁用/设置为宽松:
foven@phabricator:~$ sudo ls -la /var/repo/SVN/hooks/
total 60
drwxr-xr-x. 3 phd  phd   4096 Nov 18 13:46 .
drwxr-xr-x. 6 phd  phd   4096 Nov 18 11:27 ..
-rwxr-xr-x. 1 …
Run Code Online (Sandbox Code Playgroud)

linux svn bash phabricator

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

phabricator ×10

git ×3

arcanist ×2

apache ×1

bash ×1

bitbucket ×1

hook ×1

lets-encrypt ×1

linux ×1

mercurial ×1

ssl ×1

svn ×1

websocket ×1