mercurial/localrepo.py
changeset 8189 d2899a856f9f
parent 8156 9fd0822c2ec3
child 8209 a1a5a57efe90
equal deleted inserted replaced
8188:f3abe032fc89 8189:d2899a856f9f
    18 
    18 
    19 class localrepository(repo.repository):
    19 class localrepository(repo.repository):
    20     capabilities = set(('lookup', 'changegroupsubset'))
    20     capabilities = set(('lookup', 'changegroupsubset'))
    21     supported = ('revlogv1', 'store', 'fncache')
    21     supported = ('revlogv1', 'store', 'fncache')
    22 
    22 
    23     def __init__(self, parentui, path=None, create=0):
    23     def __init__(self, baseui, path=None, create=0):
    24         repo.repository.__init__(self)
    24         repo.repository.__init__(self)
    25         self.root = os.path.realpath(path)
    25         self.root = os.path.realpath(path)
    26         self.path = os.path.join(self.root, ".hg")
    26         self.path = os.path.join(self.root, ".hg")
    27         self.origroot = path
    27         self.origroot = path
    28         self.opener = util.opener(self.path)
    28         self.opener = util.opener(self.path)
    32             if create:
    32             if create:
    33                 if not os.path.exists(path):
    33                 if not os.path.exists(path):
    34                     os.mkdir(path)
    34                     os.mkdir(path)
    35                 os.mkdir(self.path)
    35                 os.mkdir(self.path)
    36                 requirements = ["revlogv1"]
    36                 requirements = ["revlogv1"]
    37                 if parentui.configbool('format', 'usestore', True):
    37                 if baseui.configbool('format', 'usestore', True):
    38                     os.mkdir(os.path.join(self.path, "store"))
    38                     os.mkdir(os.path.join(self.path, "store"))
    39                     requirements.append("store")
    39                     requirements.append("store")
    40                     if parentui.configbool('format', 'usefncache', True):
    40                     if baseui.configbool('format', 'usefncache', True):
    41                         requirements.append("fncache")
    41                         requirements.append("fncache")
    42                     # create an invalid changelog
    42                     # create an invalid changelog
    43                     self.opener("00changelog.i", "a").write(
    43                     self.opener("00changelog.i", "a").write(
    44                         '\0\0\0\2' # represents revlogv2
    44                         '\0\0\0\2' # represents revlogv2
    45                         ' dummy changelog to prevent using the old repo layout'
    45                         ' dummy changelog to prevent using the old repo layout'
    68         self.spath = self.store.path
    68         self.spath = self.store.path
    69         self.sopener = self.store.opener
    69         self.sopener = self.store.opener
    70         self.sjoin = self.store.join
    70         self.sjoin = self.store.join
    71         self.opener.createmode = self.store.createmode
    71         self.opener.createmode = self.store.createmode
    72 
    72 
    73         self.ui = ui.ui(parentui=parentui)
    73         self.baseui = baseui
       
    74         self.ui = baseui.copy()
    74         try:
    75         try:
    75             self.ui.readconfig(self.join("hgrc"), self.root)
    76             self.ui.readconfig(self.join("hgrc"), self.root)
    76             extensions.loadall(self.ui)
    77             extensions.loadall(self.ui)
    77         except IOError:
    78         except IOError:
    78             pass
    79             pass