mercurial/localrepo.py
changeset 10892 e39e94377eb2
parent 10888 5e18023820a9
child 10893 468876bc3885
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)