Page MenuHomePhabricator

Arc diff failing to generate diff with svn 1.9.3
Open, Needs TriagePublic

Description

svn propget throws an error if the property doesn't exist, which has caused Arcanist to stop working for us after a recent upgrade to svn 1.9.3 (I believe 1.8 returns with no output)

Reproduced by:
svn mv <file> <file>_2
arc diff --only

"svn: warning: W200017: Property 'svn:mime-type' not found on '<file>@'
svn: E200000: A problem occurred; see other errors for details
<...>
#2 ArcanistSubversionAPI::getSVNProperty(string, string) called at [<arcanist>/src/repository/api/ArcanistSubversionAPI.php:454
<...>"

Running with head libphutil/arcanist/phabricator

Event Timeline

I am also affected. Is there any known workaround?

My workaround for arcanist:

diff --git a/src/repository/api/ArcanistSubversionAPI.php b/src/repository/api/ArcanistSubversionAPI.php
index 887fa4f..3f8ca98 100644
--- a/src/repository/api/ArcanistSubversionAPI.php
+++ b/src/repository/api/ArcanistSubversionAPI.php
@@ -199,7 +199,7 @@ final class ArcanistSubversionAPI extends ArcanistRepositoryAPI {
 
   public function getSVNProperty($path, $property) {
     list($stdout) = execx(
-      'svn propget %s %s@',
+      'svn propget %s %s@ ; exit 0',
       $property,
       $this->getPath($path));
     return trim($stdout);

Tested with:

arc version
arcanist e17fe43ca3fe6dc6dd0b5ce056f56310ea1d3d51 (21 Oct 2016)
libphutil 0ae0cc00acb1413c22bfe3384fd6086ade4cc206 (10 Dec 2016)

on Ubuntu Linux with svn Version 1.9.3

@epriestley can you have a look at this, please?

I am getting the same error with

arcanist c58f1b9a2507488b2152473dd1f0bbc7e99c09c1 (29 Apr 2016)
libphutil 0709cd5cfc2616c29104387de6dde3de1db7fa32 (2 May 2016)

and

svn, version 1.9.4 (r1740329)
   compiled Apr 28 2016, 01:15:57 on x86_64-apple-darwin15.4.0

I can confirm that sreschke80's workaround worked for me.

@epriestley - is this something slotted for being fixed?