mercurial/localrepo.py
changeset 1749 d457fec76ab0
parent 1747 91c56c427171
child 1752 457cdec745f8
equal deleted inserted replaced
1748:2428e6d66f06 1749:d457fec76ab0
   229 
   229 
   230         return transaction.transaction(self.ui.warn, self.opener,
   230         return transaction.transaction(self.ui.warn, self.opener,
   231                                        self.join("journal"), after)
   231                                        self.join("journal"), after)
   232 
   232 
   233     def recover(self):
   233     def recover(self):
   234         lock = self.lock()
   234         l = self.lock()
   235         if os.path.exists(self.join("journal")):
   235         if os.path.exists(self.join("journal")):
   236             self.ui.status(_("rolling back interrupted transaction\n"))
   236             self.ui.status(_("rolling back interrupted transaction\n"))
   237             transaction.rollback(self.opener, self.join("journal"))
   237             transaction.rollback(self.opener, self.join("journal"))
   238             self.manifest = manifest.manifest(self.opener)
   238             self.manifest = manifest.manifest(self.opener)
   239             self.changelog = changelog.changelog(self.opener)
   239             self.changelog = changelog.changelog(self.opener)
   243             return False
   243             return False
   244 
   244 
   245     def undo(self, wlock=None):
   245     def undo(self, wlock=None):
   246         if not wlock:
   246         if not wlock:
   247             wlock = self.wlock()
   247             wlock = self.wlock()
   248         lock = self.lock()
   248         l = self.lock()
   249         if os.path.exists(self.join("undo")):
   249         if os.path.exists(self.join("undo")):
   250             self.ui.status(_("rolling back last transaction\n"))
   250             self.ui.status(_("rolling back last transaction\n"))
   251             transaction.rollback(self.opener, self.join("undo"))
   251             transaction.rollback(self.opener, self.join("undo"))
   252             util.rename(self.join("undo.dirstate"), self.join("dirstate"))
   252             util.rename(self.join("undo.dirstate"), self.join("dirstate"))
   253             self.dirstate.read()
   253             self.dirstate.read()
   309         else:
   309         else:
   310             update_dirstate = 0
   310             update_dirstate = 0
   311 
   311 
   312         if not wlock:
   312         if not wlock:
   313             wlock = self.wlock()
   313             wlock = self.wlock()
   314         lock = self.lock()
   314         l = self.lock()
   315         tr = self.transaction()
   315         tr = self.transaction()
   316         mm = m1.copy()
   316         mm = m1.copy()
   317         mfm = mf1.copy()
   317         mfm = mf1.copy()
   318         linkrev = self.changelog.count()
   318         linkrev = self.changelog.count()
   319         for f in files:
   319         for f in files:
   386 
   386 
   387         self.hook("precommit", throw=True, parent1=xp1, parent2=xp2)
   387         self.hook("precommit", throw=True, parent1=xp1, parent2=xp2)
   388 
   388 
   389         if not wlock:
   389         if not wlock:
   390             wlock = self.wlock()
   390             wlock = self.wlock()
   391         lock = self.lock()
   391         l = self.lock()
   392         tr = self.transaction()
   392         tr = self.transaction()
   393 
   393 
   394         # check in files
   394         # check in files
   395         new = {}
   395         new = {}
   396         linkrev = self.changelog.count()
   396         linkrev = self.changelog.count()
   929 
   929 
   930         # this is the set of all roots we have to push
   930         # this is the set of all roots we have to push
   931         return subset
   931         return subset
   932 
   932 
   933     def pull(self, remote, heads=None):
   933     def pull(self, remote, heads=None):
   934         lock = self.lock()
   934         l = self.lock()
   935 
   935 
   936         # if we have an empty repo, fetch everything
   936         # if we have an empty repo, fetch everything
   937         if self.changelog.tip() == nullid:
   937         if self.changelog.tip() == nullid:
   938             self.ui.status(_("requesting all changes\n"))
   938             self.ui.status(_("requesting all changes\n"))
   939             fetch = [nullid]
   939             fetch = [nullid]
   949         else:
   949         else:
   950             cg = remote.changegroupsubset(fetch, heads, 'pull')
   950             cg = remote.changegroupsubset(fetch, heads, 'pull')
   951         return self.addchangegroup(cg)
   951         return self.addchangegroup(cg)
   952 
   952 
   953     def push(self, remote, force=False):
   953     def push(self, remote, force=False):
   954         lock = remote.lock()
   954         l = remote.lock()
   955 
   955 
   956         base = {}
   956         base = {}
   957         heads = remote.heads()
   957         heads = remote.heads()
   958         inc = self.findincoming(remote, base, heads)
   958         inc = self.findincoming(remote, base, heads)
   959         if not force and inc:
   959         if not force and inc: