From 97262085b7520b19dc60bb0ead8ee1e9e4cb86a7 Mon Sep 17 00:00:00 2001 From: Nick Harper Date: Thu, 10 May 2012 17:24:59 -0700 Subject: [PATCH] Remove arc export's dependency on a working copy when using --diff Summary: When getting an encoding, we should query the server for the encoding of the project that we're exporting from, not the project that we're running arc in (arc might not be in a working copy). Test Plan: ran arc export with --diff and didn't get a workflow exception Reviewers: epriestley, jungejason, vrana, davidreuss Reviewed By: jungejason CC: aran, Koolvin Differential Revision: https://secure.phabricator.com/D2455 --- src/workflow/export/ArcanistExportWorkflow.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/workflow/export/ArcanistExportWorkflow.php b/src/workflow/export/ArcanistExportWorkflow.php index 1d933f5f..7e0aa497 100644 --- a/src/workflow/export/ArcanistExportWorkflow.php +++ b/src/workflow/export/ArcanistExportWorkflow.php @@ -147,7 +147,7 @@ EOTEXT } public function requiresConduit() { - return $this->getSource() != self::SOURCE_LOCAL; + return true; } public function requiresAuthentication() { @@ -217,7 +217,12 @@ EOTEXT $try_encoding = nonempty($this->getArgument('encoding'), null); if (!$try_encoding) { try { - $try_encoding = $this->getRepositoryEncoding(); + $project_info = $this->getConduit()->callMethodSynchronous( + 'arcanist.projectinfo', + array( + 'name' => $bundle->getProjectID(), + )); + $try_encoding = $project_info['encoding']; } catch (ConduitClientException $e) { $try_encoding = null; }