hgext/shelve.py
changeset 39889 d9ba836fc234
parent 39888 42a6b228dd2e
child 40029 e2697acd9381
--- 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()