equal
deleted
inserted
replaced
523 try: |
523 try: |
524 ds = self.opener("dirstate").read() |
524 ds = self.opener("dirstate").read() |
525 except IOError: |
525 except IOError: |
526 ds = "" |
526 ds = "" |
527 self.opener("journal.dirstate", "w").write(ds) |
527 self.opener("journal.dirstate", "w").write(ds) |
|
528 self.opener("journal.branch", "w").write(self.dirstate.branch()) |
528 |
529 |
529 renames = [(self.sjoin("journal"), self.sjoin("undo")), |
530 renames = [(self.sjoin("journal"), self.sjoin("undo")), |
530 (self.join("journal.dirstate"), self.join("undo.dirstate"))] |
531 (self.join("journal.dirstate"), self.join("undo.dirstate")), |
|
532 (self.join("journal.branch"), self.join("undo.branch"))] |
531 tr = transaction.transaction(self.ui.warn, self.sopener, |
533 tr = transaction.transaction(self.ui.warn, self.sopener, |
532 self.sjoin("journal"), |
534 self.sjoin("journal"), |
533 aftertrans(renames)) |
535 aftertrans(renames)) |
534 self._transref = weakref.ref(tr) |
536 self._transref = weakref.ref(tr) |
535 return tr |
537 return tr |
555 lock = self.lock() |
557 lock = self.lock() |
556 if os.path.exists(self.sjoin("undo")): |
558 if os.path.exists(self.sjoin("undo")): |
557 self.ui.status(_("rolling back last transaction\n")) |
559 self.ui.status(_("rolling back last transaction\n")) |
558 transaction.rollback(self.sopener, self.sjoin("undo")) |
560 transaction.rollback(self.sopener, self.sjoin("undo")) |
559 util.rename(self.join("undo.dirstate"), self.join("dirstate")) |
561 util.rename(self.join("undo.dirstate"), self.join("dirstate")) |
|
562 branch = self.opener("undo.branch").read() |
|
563 self.dirstate.setbranch(branch) |
560 self.invalidate() |
564 self.invalidate() |
561 self.dirstate.invalidate() |
565 self.dirstate.invalidate() |
562 else: |
566 else: |
563 self.ui.warn(_("no rollback information available\n")) |
567 self.ui.warn(_("no rollback information available\n")) |
564 finally: |
568 finally: |