# HG changeset patch # User Mads Kiilerich # Date 1340550407 -7200 # Node ID f17b561cc473a46be67b9cba53a8dd1656c8a31e # Parent ec5ef276077f9141f2ee4205ebcec9b48c6a0da0 convert: ignore svn:executable for subversion targets without exec bit support Calling propset/propdel with subversion 1.6 on FAT gave abort: svn exited with status 256 and made test-convert-hg-svn.t and test-convert-svn-sink.t fail. 1.7 worked. This is a rework of fdee5d614fcc but ignores the executable bit when it isn't supported instead of using an approximation. diff -r ec5ef276077f -r f17b561cc473 hgext/convert/subversion.py --- a/hgext/convert/subversion.py Fri Jun 22 02:39:52 2012 +0200 +++ b/hgext/convert/subversion.py Sun Jun 24 17:06:47 2012 +0200 @@ -1091,20 +1091,13 @@ self.wopener.write(filename, data) if self.is_exec: - was_exec = self.is_exec(self.wjoin(filename)) - else: - # On filesystems not supporting execute-bit, there is no way - # to know if it is set but asking subversion. Setting it - # systematically is just as expensive and much simpler. - was_exec = 'x' not in flags - - util.setflags(self.wjoin(filename), False, 'x' in flags) - if was_exec: - if 'x' not in flags: - self.delexec.append(filename) - else: - if 'x' in flags: - self.setexec.append(filename) + if self.is_exec(self.wjoin(filename)): + if 'x' not in flags: + self.delexec.append(filename) + else: + if 'x' in flags: + self.setexec.append(filename) + util.setflags(self.wjoin(filename), False, 'x' in flags) def _copyfile(self, source, dest): # SVN's copy command pukes if the destination file exists, but