comparison mercurial/localrepo.py @ 8797:9ed150d2fbd5

repo: set up ui and extensions earlier
author Matt Mackall <mpm@selenic.com>
date Sat, 13 Jun 2009 14:44:59 -0500
parents 2bcef677a6c3
children 87d1fd40f57e
comparison
equal deleted inserted replaced
8796:2bcef677a6c3 8797:9ed150d2fbd5
26 self.root = os.path.realpath(path) 26 self.root = os.path.realpath(path)
27 self.path = os.path.join(self.root, ".hg") 27 self.path = os.path.join(self.root, ".hg")
28 self.origroot = path 28 self.origroot = path
29 self.opener = util.opener(self.path) 29 self.opener = util.opener(self.path)
30 self.wopener = util.opener(self.root) 30 self.wopener = util.opener(self.root)
31 self.baseui = baseui
32 self.ui = baseui.copy()
33
34 try:
35 self.ui.readconfig(self.join("hgrc"), self.root)
36 extensions.loadall(self.ui)
37 except IOError:
38 pass
31 39
32 if not os.path.isdir(self.path): 40 if not os.path.isdir(self.path):
33 if create: 41 if create:
34 if not os.path.exists(path): 42 if not os.path.exists(path):
35 os.mkdir(path) 43 os.mkdir(path)
36 os.mkdir(self.path) 44 os.mkdir(self.path)
37 requirements = ["revlogv1"] 45 requirements = ["revlogv1"]
38 if baseui.configbool('format', 'usestore', True): 46 if self.ui.configbool('format', 'usestore', True):
39 os.mkdir(os.path.join(self.path, "store")) 47 os.mkdir(os.path.join(self.path, "store"))
40 requirements.append("store") 48 requirements.append("store")
41 if baseui.configbool('format', 'usefncache', True): 49 if self.ui.configbool('format', 'usefncache', True):
42 requirements.append("fncache") 50 requirements.append("fncache")
43 # create an invalid changelog 51 # create an invalid changelog
44 self.opener("00changelog.i", "a").write( 52 self.opener("00changelog.i", "a").write(
45 '\0\0\0\2' # represents revlogv2 53 '\0\0\0\2' # represents revlogv2
46 ' dummy changelog to prevent using the old repo layout' 54 ' dummy changelog to prevent using the old repo layout'
67 self.store = store.store(requirements, self.path, util.opener) 75 self.store = store.store(requirements, self.path, util.opener)
68 self.spath = self.store.path 76 self.spath = self.store.path
69 self.sopener = self.store.opener 77 self.sopener = self.store.opener
70 self.sjoin = self.store.join 78 self.sjoin = self.store.join
71 self.opener.createmode = self.store.createmode 79 self.opener.createmode = self.store.createmode
72
73 self.baseui = baseui
74 self.ui = baseui.copy()
75 try:
76 self.ui.readconfig(self.join("hgrc"), self.root)
77 extensions.loadall(self.ui)
78 except IOError:
79 pass
80 80
81 self.tagscache = None 81 self.tagscache = None
82 self._tagstypecache = None 82 self._tagstypecache = None
83 self.branchcache = None 83 self.branchcache = None
84 self._ubranchcache = None # UTF-8 version of branchcache 84 self._ubranchcache = None # UTF-8 version of branchcache