~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/lock.py

  • Committer: Martin Pool
  • Date: 2005-06-06 04:47:33 UTC
  • Revision ID: mbp@sourcefrog.net-20050606044733-e902b05ac1747cd2
- fix invocation of testbzr when giving explicit bzr location

Show diffs side-by-side

added added

removed removed

Lines of Context:
35
35
"""
36
36
 
37
37
 
38
 
import sys
39
 
import os
 
38
import sys, os
40
39
 
41
 
from bzrlib.trace import mutter, note, warning
42
 
from bzrlib.errors import LockError
 
40
from trace import mutter, note, warning
 
41
from errors import LockError
43
42
 
44
43
class _base_Lock(object):
45
44
    def _open(self, filename, filemode):
46
 
        import errno
47
 
        try:
48
 
            self.f = open(filename, filemode)
49
 
            return self.f
50
 
        except IOError, e:
51
 
            if e.errno != errno.ENOENT:
52
 
                raise
53
 
 
54
 
            # maybe this is an old branch (before may 2005)
55
 
            mutter("trying to create missing branch lock %r" % filename)
56
 
            
57
 
            self.f = open(filename, 'wb')
58
 
            return self.f
59
 
 
 
45
        self.f = open(filename, filemode)
 
46
        return self.f
 
47
    
60
48
 
61
49
    def __del__(self):
62
50
        if self.f:
63
51
            from warnings import warn
64
52
            warn("lock on %r not released" % self.f)
65
53
            self.unlock()
66
 
            
67
54
 
68
55
    def unlock(self):
69
56
        raise NotImplementedError()