# HG changeset patch
# User Gregory Szorc <gregory.szorc@gmail.com>
# Date 1536716474 25200
#      Tue Sep 11 18:41:14 2018 -0700
# Node ID 84d6e9a2b104147f4637a5021b33651e7eb5924d
# Parent  87428152e820da5bea1eed45e2240dbbb274850d
shelve: use bundlerepo.instance() to construct a repo object

The instance() functions are preferred over cls.__init__ for
creating repo instances. It doesn't really matter now. But future
commits will refactor the bundlerepository class in ways that will
cause the old way to break.

Differential Revision: https://phab.mercurial-scm.org/D4552

diff --git a/hgext/shelve.py b/hgext/shelve.py
--- a/hgext/shelve.py
+++ b/hgext/shelve.py
@@ -152,8 +152,10 @@
             fp.close()
 
     def bundlerepo(self):
-        return bundlerepo.bundlerepository(self.repo.baseui, self.repo.root,
-                                           self.vfs.join(self.fname))
+        path = self.vfs.join(self.fname)
+        return bundlerepo.instance(self.repo.baseui,
+                                   'bundle://%s+%s' % (self.repo.root, path))
+
     def writebundle(self, bases, node):
         cgversion = changegroup.safeversion(self.repo)
         if cgversion == '01':