diff -r 42a6b228dd2e -r d9ba836fc234 hgext/shelve.py --- a/hgext/shelve.py Wed Sep 19 12:19:28 2018 +0200 +++ b/hgext/shelve.py Thu Sep 20 17:47:05 2018 +0200 @@ -144,11 +144,17 @@ if not phases.supportinternal(self.repo): targetphase = phases.secret gen = exchange.readbundle(self.repo.ui, fp, self.fname, self.vfs) - bundle2.applybundle(self.repo, gen, self.repo.currenttransaction(), + pretip = self.repo['tip'] + tr = self.repo.currenttransaction() + bundle2.applybundle(self.repo, gen, tr, source='unshelve', url='bundle:' + self.vfs.join(self.fname), targetphase=targetphase) - return self.repo['tip'] + shelvectx = self.repo['tip'] + if pretip == shelvectx: + shelverev = tr.changes['revduplicates'][-1] + shelvectx = self.repo[shelverev] + return shelvectx finally: fp.close()