Index: path/svn/wccommand.py =================================================================== --- path/svn/wccommand.py (revision 53233) +++ path/svn/wccommand.py (working copy) @@ -621,6 +621,9 @@ # Last Changed Rev: 2100 # Last Changed Date: 2003-10-27 20:43:14 +0100 (Mon, 27 Oct 2003) # Properties Last Updated: 2003-11-03 14:47:48 +0100 (Mon, 03 Nov 2003) + # Lock Token: opaquelocktoken:b0b0fdbe-83f9-419e-a708-02e8cd1813af + # Lock Owner: spaans + # Lock Created: 2008-04-01 18:38:57 +0200 (Tue, 01 Apr 2008) d = {} for line in output.split('\n'): @@ -646,6 +649,12 @@ if 'lastchangeddate' in d: self.mtime = parse_wcinfotime(d['lastchangeddate']) self.time = self.mtime * 1000000 + if 'lockowner' in d: + self.lock_owner = d['lockowner'] + if 'lockcreated' in d: + self.lock_mtime = parse_wcinfotime(d['lockcreated']) + if 'locktoken' in d: + self.lock_token = d['locktoken'] def __eq__(self, other): return self.__dict__ == other.__dict__ @@ -684,4 +693,3 @@ def error_enhance((cls, error, tb)): raise cls, error, tb - Index: path/svn/testing/test_wccommand.py =================================================================== --- path/svn/testing/test_wccommand.py (revision 53233) +++ path/svn/testing/test_wccommand.py (working copy) @@ -263,7 +263,15 @@ somefile.write('foo') somefile.commit('test') assert somefile.check(versioned=True) + assert not hasattr(somefile.info(usecache=0), 'lock_owner') somefile.lock() + fileinfo = somefile.info(usecache=0) + assert hasattr(fileinfo, 'lock_owner') + assert len(fileinfo.lock_owner) > 0 + assert hasattr(fileinfo, 'lock_mtime') + assert fileinfo.lock_mtime > 0 + assert hasattr(fileinfo, 'lock_token') + assert len(fileinfo.lock_token) > 0 try: locked = root.status().locked assert len(locked) == 1 @@ -273,9 +281,10 @@ finally: somefile.unlock() #assert not somefile.locked() + assert not hasattr(somefile.info(usecache=0), 'lock_owner') locked = root.status().locked assert locked == [] - py.test.raises(Exception, 'somefile,unlock()') + py.test.raises(Exception, 'somefile.unlock()') somefile.remove() def test_commit_nonrecursive(self):