Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/localrepo.py @ 10892:e39e94377eb2
transaction: use newlines to separate description elements
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 12 Apr 2010 17:11:14 -0700 |
parents | 5e18023820a9 |
children | 468876bc3885 |
comparison
equal
deleted
inserted
replaced
10891:83af68e38be3 | 10892:e39e94377eb2 |
---|---|
570 ds = self.opener("dirstate").read() | 570 ds = self.opener("dirstate").read() |
571 except IOError: | 571 except IOError: |
572 ds = "" | 572 ds = "" |
573 self.opener("journal.dirstate", "w").write(ds) | 573 self.opener("journal.dirstate", "w").write(ds) |
574 self.opener("journal.branch", "w").write(self.dirstate.branch()) | 574 self.opener("journal.branch", "w").write(self.dirstate.branch()) |
575 self.opener("journal.desc", "w").write("%d,%s" % (len(self), desc)) | 575 self.opener("journal.desc", "w").write("%d\n%s\n" % (len(self), desc)) |
576 | 576 |
577 renames = [(self.sjoin("journal"), self.sjoin("undo")), | 577 renames = [(self.sjoin("journal"), self.sjoin("undo")), |
578 (self.join("journal.dirstate"), self.join("undo.dirstate")), | 578 (self.join("journal.dirstate"), self.join("undo.dirstate")), |
579 (self.join("journal.branch"), self.join("undo.branch")), | 579 (self.join("journal.branch"), self.join("undo.branch")), |
580 (self.join("journal.desc"), self.join("undo.desc"))] | 580 (self.join("journal.desc"), self.join("undo.desc"))] |
605 try: | 605 try: |
606 wlock = self.wlock() | 606 wlock = self.wlock() |
607 lock = self.lock() | 607 lock = self.lock() |
608 if os.path.exists(self.sjoin("undo")): | 608 if os.path.exists(self.sjoin("undo")): |
609 try: | 609 try: |
610 args = self.opener("undo.desc", "r").read().split(",") | 610 args = self.opener("undo.desc", "r").read().splitlines() |
611 if len(args) == 3 and self.ui.verbose: | 611 if len(args) >= 3 and self.ui.verbose: |
612 desc = _("rolling back %s (%s) to revision %s\n") % ( | 612 desc = _("rolling back %s (%s) to revision %s\n") % ( |
613 args[1], args[2], args[0]) | 613 args[1], args[2], args[0]) |
614 else: | 614 elif len(args) >= 2: |
615 desc = _("rolling back %s to revision %s\n") % ( | 615 desc = _("rolling back %s to revision %s\n") % ( |
616 args[1], args[0]) | 616 args[1], args[0]) |
617 except (IOError, IndexError): | 617 except IOError: |
618 desc = _("rolling back unknown transaction\n") | 618 desc = _("rolling back unknown transaction\n") |
619 self.ui.status(desc) | 619 self.ui.status(desc) |
620 if dryrun: | 620 if dryrun: |
621 return | 621 return |
622 transaction.rollback(self.sopener, self.sjoin("undo"), | 622 transaction.rollback(self.sopener, self.sjoin("undo"), |
2017 # inconsistent view | 2017 # inconsistent view |
2018 cl = self.changelog | 2018 cl = self.changelog |
2019 cl.delayupdate() | 2019 cl.delayupdate() |
2020 oldheads = len(cl.heads()) | 2020 oldheads = len(cl.heads()) |
2021 | 2021 |
2022 tr = self.transaction(",".join([srctype, urlmod.hidepassword(url)])) | 2022 tr = self.transaction("\n".join([srctype, urlmod.hidepassword(url)])) |
2023 try: | 2023 try: |
2024 trp = weakref.proxy(tr) | 2024 trp = weakref.proxy(tr) |
2025 # pull off the changeset group | 2025 # pull off the changeset group |
2026 self.ui.status(_("adding changesets\n")) | 2026 self.ui.status(_("adding changesets\n")) |
2027 clstart = len(cl) | 2027 clstart = len(cl) |