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)