comparison mercurial/localrepo.py @ 3032:4d0e0f149581

localrepo: move the repo creation code, fail if the repo exists
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Sat, 02 Sep 2006 23:06:47 +0200
parents aebc3f64b20f
children bc3fe3b5b785
comparison
equal deleted inserted replaced
3031:2b0bc36a48d8 3032:4d0e0f149581
29 if p == oldp: 29 if p == oldp:
30 raise repo.RepoError(_("no repo found")) 30 raise repo.RepoError(_("no repo found"))
31 path = p 31 path = p
32 self.path = os.path.join(path, ".hg") 32 self.path = os.path.join(path, ".hg")
33 33
34 if not create and not os.path.isdir(self.path): 34 if not os.path.isdir(self.path):
35 raise repo.RepoError(_("repository %s not found") % path) 35 if create:
36 if not os.path.exists(path):
37 os.mkdir(path)
38 os.mkdir(self.path)
39 os.mkdir(self.join("data"))
40 else:
41 raise repo.RepoError(_("repository %s not found") % path)
42 elif create:
43 raise repo.RepoError(_("repository %s already exists") % path)
36 44
37 self.root = os.path.abspath(path) 45 self.root = os.path.abspath(path)
38 self.origroot = path 46 self.origroot = path
39 self.ui = ui.ui(parentui=parentui) 47 self.ui = ui.ui(parentui=parentui)
40 self.opener = util.opener(self.path) 48 self.opener = util.opener(self.path)
72 self.tagscache = None 80 self.tagscache = None
73 self.nodetagscache = None 81 self.nodetagscache = None
74 self.encodepats = None 82 self.encodepats = None
75 self.decodepats = None 83 self.decodepats = None
76 self.transhandle = None 84 self.transhandle = None
77
78 if create:
79 if not os.path.exists(path):
80 os.mkdir(path)
81 os.mkdir(self.path)
82 os.mkdir(self.join("data"))
83 85
84 self.dirstate = dirstate.dirstate(self.opener, self.ui, self.root) 86 self.dirstate = dirstate.dirstate(self.opener, self.ui, self.root)
85 87
86 def url(self): 88 def url(self):
87 return 'file:' + self.root 89 return 'file:' + self.root