mercurial/transaction.py
changeset 1402 9d2c2e6b32b5
parent 1400 cf9a1233738a
child 1541 bf4e7ef08741
equal deleted inserted replaced
1401:fbf2b10011aa 1402:9d2c2e6b32b5
    19     def __init__(self, report, opener, journal, after=None):
    19     def __init__(self, report, opener, journal, after=None):
    20         self.journal = None
    20         self.journal = None
    21 
    21 
    22         # abort here if the journal already exists
    22         # abort here if the journal already exists
    23         if os.path.exists(journal):
    23         if os.path.exists(journal):
    24             raise AssertionError("journal already exists - run hg recover")
    24             raise AssertionError(_("journal already exists - run hg recover"))
    25 
    25 
    26         self.report = report
    26         self.report = report
    27         self.opener = opener
    27         self.opener = opener
    28         self.after = after
    28         self.after = after
    29         self.entries = []
    29         self.entries = []
    57         self.journal = None
    57         self.journal = None
    58 
    58 
    59     def abort(self):
    59     def abort(self):
    60         if not self.entries: return
    60         if not self.entries: return
    61 
    61 
    62         self.report("transaction abort!\n")
    62         self.report(_("transaction abort!\n"))
    63 
    63 
    64         for f, o in self.entries:
    64         for f, o in self.entries:
    65             try:
    65             try:
    66                 self.opener(f, "a").truncate(o)
    66                 self.opener(f, "a").truncate(o)
    67             except:
    67             except:
    68                 self.report("failed to truncate %s\n" % f)
    68                 self.report(_("failed to truncate %s\n") % f)
    69 
    69 
    70         self.entries = []
    70         self.entries = []
    71 
    71 
    72         self.report("rollback completed\n")
    72         self.report(_("rollback completed\n"))
    73 
    73 
    74 def rollback(opener, file):
    74 def rollback(opener, file):
    75     for l in open(file).readlines():
    75     for l in open(file).readlines():
    76         f, o = l.split('\0')
    76         f, o = l.split('\0')
    77         opener(f, "a").truncate(int(o))
    77         opener(f, "a").truncate(int(o))