comparison mercurial/localrepo.py @ 3791:8643b9f90b51

introduce localrepo.spath for the store path, sopener fixes
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Tue, 05 Dec 2006 11:28:23 +0100
parents f183c18568df
children bd7011246fab
comparison
equal deleted inserted replaced
3790:f183c18568df 3791:8643b9f90b51
29 if p == oldp: 29 if p == oldp:
30 raise repo.RepoError(_("There is no Mercurial repository" 30 raise repo.RepoError(_("There is no Mercurial repository"
31 " here (.hg not found)")) 31 " here (.hg not found)"))
32 path = p 32 path = p
33 self.path = os.path.join(path, ".hg") 33 self.path = os.path.join(path, ".hg")
34 self.spath = self.path
34 35
35 if not os.path.isdir(self.path): 36 if not os.path.isdir(self.path):
36 if create: 37 if create:
37 if not os.path.exists(path): 38 if not os.path.exists(path):
38 os.mkdir(path) 39 os.mkdir(path)
39 os.mkdir(self.path) 40 os.mkdir(self.path)
41 if self.spath != self.path:
42 os.mkdir(self.spath)
40 else: 43 else:
41 raise repo.RepoError(_("repository %s not found") % path) 44 raise repo.RepoError(_("repository %s not found") % path)
42 elif create: 45 elif create:
43 raise repo.RepoError(_("repository %s already exists") % path) 46 raise repo.RepoError(_("repository %s already exists") % path)
44 47
45 self.root = os.path.realpath(path) 48 self.root = os.path.realpath(path)
46 self.origroot = path 49 self.origroot = path
47 self.ui = ui.ui(parentui=parentui) 50 self.ui = ui.ui(parentui=parentui)
48 self.opener = util.opener(self.path) 51 self.opener = util.opener(self.path)
49 self.sopener = util.opener(self.path) 52 self.sopener = util.opener(self.spath)
50 self.wopener = util.opener(self.root) 53 self.wopener = util.opener(self.root)
51 54
52 try: 55 try:
53 self.ui.readconfig(self.join("hgrc"), self.root) 56 self.ui.readconfig(self.join("hgrc"), self.root)
54 except IOError: 57 except IOError:
393 396
394 def join(self, f): 397 def join(self, f):
395 return os.path.join(self.path, f) 398 return os.path.join(self.path, f)
396 399
397 def sjoin(self, f): 400 def sjoin(self, f):
398 return os.path.join(self.path, f) 401 return os.path.join(self.spath, f)
399 402
400 def wjoin(self, f): 403 def wjoin(self, f):
401 return os.path.join(self.root, f) 404 return os.path.join(self.root, f)
402 405
403 def file(self, f): 406 def file(self, f):