Index: py/path/svn/wccommand.py =================================================================== --- py/path/svn/wccommand.py (Revision 60276) +++ py/path/svn/wccommand.py (Revision 60277) @@ -389,6 +389,8 @@ except py.process.cmdexec.Error, e: if e.err.find('Path is not a working copy directory') != -1: raise py.error.ENOENT(self, e.err) + elif e.err.find("is not under version control") != -1: + raise py.error.ENOENT(self, e.err) raise # XXX SVN 1.3 has output on stderr instead of stdout (while it does # return 0!), so a bit nasty, but we assume no output is output Index: py/path/svn/testing/test_wccommand.py =================================================================== --- py/path/svn/testing/test_wccommand.py (Revision 60276) +++ py/path/svn/testing/test_wccommand.py (Revision 60277) @@ -366,22 +366,21 @@ def test_commit_nonrecursive(self): root = self.root somedir = root.join('sampledir') - somefile = somedir.join('otherfile') - somefile.write('foo') + somedir.mkdir("subsubdir") somedir.propset('foo', 'bar') status = somedir.status() assert len(status.prop_modified) == 1 - assert len(status.modified) == 1 + assert len(status.added) == 1 somedir.commit('non-recursive commit', rec=0) status = somedir.status() assert len(status.prop_modified) == 0 - assert len(status.modified) == 1 + assert len(status.added) == 1 somedir.commit('recursive commit') status = somedir.status() assert len(status.prop_modified) == 0 - assert len(status.modified) == 0 + assert len(status.added) == 0 def test_commit_return_value(self): root = self.root