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 |