8 import struct, os, util |
8 import struct, os, util |
9 import filelog, manifest, changelog, dirstate, repo |
9 import filelog, manifest, changelog, dirstate, repo |
10 from node import * |
10 from node import * |
11 from i18n import gettext as _ |
11 from i18n import gettext as _ |
12 from demandload import * |
12 from demandload import * |
13 demandload(globals(), "re lock transaction tempfile stat mdiff errno") |
13 demandload(globals(), "re lock transaction tempfile stat mdiff errno ui") |
14 |
14 |
15 class localrepository(object): |
15 class localrepository(object): |
16 def __del__(self): |
16 def __del__(self): |
17 self.transhandle = None |
17 self.transhandle = None |
18 def __init__(self, ui, path=None, create=0): |
18 def __init__(self, parentui, path=None, create=0): |
19 if not path: |
19 if not path: |
20 p = os.getcwd() |
20 p = os.getcwd() |
21 while not os.path.isdir(os.path.join(p, ".hg")): |
21 while not os.path.isdir(os.path.join(p, ".hg")): |
22 oldp = p |
22 oldp = p |
23 p = os.path.dirname(p) |
23 p = os.path.dirname(p) |
28 |
28 |
29 if not create and not os.path.isdir(self.path): |
29 if not create and not os.path.isdir(self.path): |
30 raise repo.RepoError(_("repository %s not found") % path) |
30 raise repo.RepoError(_("repository %s not found") % path) |
31 |
31 |
32 self.root = os.path.abspath(path) |
32 self.root = os.path.abspath(path) |
33 self.ui = ui |
33 self.ui = ui.ui(parentui=parentui) |
34 self.opener = util.opener(self.path) |
34 self.opener = util.opener(self.path) |
35 self.wopener = util.opener(self.root) |
35 self.wopener = util.opener(self.root) |
36 self.manifest = manifest.manifest(self.opener) |
36 self.manifest = manifest.manifest(self.opener) |
37 self.changelog = changelog.changelog(self.opener) |
37 self.changelog = changelog.changelog(self.opener) |
38 self.tagscache = None |
38 self.tagscache = None |