hgext/shelve.py
changeset 39889 d9ba836fc234
parent 39888 42a6b228dd2e
child 40029 e2697acd9381
equal deleted inserted replaced
39888:42a6b228dd2e 39889:d9ba836fc234
   142         try:
   142         try:
   143             targetphase = phases.internal
   143             targetphase = phases.internal
   144             if not phases.supportinternal(self.repo):
   144             if not phases.supportinternal(self.repo):
   145                 targetphase = phases.secret
   145                 targetphase = phases.secret
   146             gen = exchange.readbundle(self.repo.ui, fp, self.fname, self.vfs)
   146             gen = exchange.readbundle(self.repo.ui, fp, self.fname, self.vfs)
   147             bundle2.applybundle(self.repo, gen, self.repo.currenttransaction(),
   147             pretip = self.repo['tip']
       
   148             tr = self.repo.currenttransaction()
       
   149             bundle2.applybundle(self.repo, gen, tr,
   148                                 source='unshelve',
   150                                 source='unshelve',
   149                                 url='bundle:' + self.vfs.join(self.fname),
   151                                 url='bundle:' + self.vfs.join(self.fname),
   150                                 targetphase=targetphase)
   152                                 targetphase=targetphase)
   151             return self.repo['tip']
   153             shelvectx = self.repo['tip']
       
   154             if pretip == shelvectx:
       
   155                 shelverev = tr.changes['revduplicates'][-1]
       
   156                 shelvectx = self.repo[shelverev]
       
   157             return shelvectx
   152         finally:
   158         finally:
   153             fp.close()
   159             fp.close()
   154 
   160 
   155     def bundlerepo(self):
   161     def bundlerepo(self):
   156         path = self.vfs.join(self.fname)
   162         path = self.vfs.join(self.fname)