$ 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; }