$ git diff 58db3363a6fdc3b8eec4fab320e763e994c57af3..e89ba327da0bd0a2f58e8dce82a55b855ef7dc2b | arc diff --raw --trace
libphutil loaded from '/opt/libphutil/src'.
arcanist loaded from '/opt/arcanist/src'.
Working Copy: Reading .arcconfig from "/Users/kblock/Documents/work/builds/prevent-gilroy/.arcconfig".
Working Copy: Path "/Users/kblock/Documents/work/builds/prevent-gilroy" is part of `git` working copy "/Users/kblock/Documents/work/builds/prevent-gilroy".
Working Copy: Project root is at "/Users/kblock/Documents/work/builds/prevent-gilroy".
>>> [0] <conduit> conduit.connect() <bytes = 446>
>>> [1] <http> https://codereview.sf.coverity.com/api/conduit.connect
<<< [1] <http> 498,609 us
<<< [0] <conduit> 498,863 us
>>> [2] <event> diff.didCollectChanges <listeners = 0>
<<< [2] <event> 70 us
>>> [3] <event> diff.didBuildMessage <listeners = 0>
<<< [3] <event> 55 us
Reading diff from stdin...
>>> [4] <conduit> arcanist.projectinfo() <bytes = 187>
>>> [5] <http> https://codereview.sf.coverity.com/api/arcanist.projectinfo
<<< [5] <http> 514,321 us
<<< [4] <conduit> 514,551 us
[2014-05-15 19:07:02] EXCEPTION: (Exception) This workflow ('ArcanistDiffWorkflow') requires a Repository API, override requiresRepositoryAPI() to return true. at [/opt/arcanist/src/workflow/ArcanistBaseWorkflow.php:766]
#0 ArcanistBaseWorkflow::getRepositoryAPI() called at [/opt/arcanist/src/workflow/ArcanistBaseWorkflow.php:1712]
#1 ArcanistBaseWorkflow::getRepositoryQuery() called at [/opt/arcanist/src/workflow/ArcanistBaseWorkflow.php:1620]
#2 ArcanistBaseWorkflow::loadRepositoryInformation() called at [/opt/arcanist/src/workflow/ArcanistBaseWorkflow.php:1607]
#3 ArcanistBaseWorkflow::getRepositoryInformation() called at [/opt/arcanist/src/workflow/ArcanistBaseWorkflow.php:1554]
#4 ArcanistBaseWorkflow::getRepositoryPHID() called at [/opt/arcanist/src/workflow/ArcanistDiffWorkflow.php:2295]
#5 ArcanistDiffWorkflow::buildDiffSpecification() called at [/opt/arcanist/src/workflow/ArcanistDiffWorkflow.php:514]
#6 ArcanistDiffWorkflow::run() called at [/opt/arcanist/scripts/arcanist.php:322]
Following change seems to work around the issue.
diff --git a/src/workflow/ArcanistDiffWorkflow.php b/src/workflow/ArcanistDiffWorkflow.\
php
index fe02de8..206dc3f 100644
--- a/src/workflow/ArcanistDiffWorkflow.php
+++ b/src/workflow/ArcanistDiffWorkflow.php
@@ -2290,10 +2290,12 @@ EOTEXT
'arcanistProject' => $project_id,
);
+ if (!$this->isRawDiffSource()) {
$repository_phid = $this->getRepositoryPHID();
if ($repository_phid) {
$data['repositoryPHID'] = $repository_phid;
}
+ }
return $data;
}