mercurial/localrepo.py
changeset 1839 876e4e6ad82b
parent 1838 429bf036f2cb
child 1853 5ac811b720de
equal deleted inserted replaced
1838:429bf036f2cb 1839:876e4e6ad82b
     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
    43 
    43 
    44         if create:
    44         if create:
    45             os.mkdir(self.path)
    45             os.mkdir(self.path)
    46             os.mkdir(self.join("data"))
    46             os.mkdir(self.join("data"))
    47 
    47 
    48         self.dirstate = dirstate.dirstate(self.opener, ui, self.root)
    48         self.dirstate = dirstate.dirstate(self.opener, self.ui, self.root)
    49         try:
    49         try:
    50             self.ui.readconfig(self.join("hgrc"))
    50             self.ui.readconfig(self.join("hgrc"))
    51         except IOError:
    51         except IOError:
    52             pass
    52             pass
    53 
    53