comparison mercurial/localrepo.py @ 6895:a6bb94930105

localrepo: simplify requirements checking
author Matt Mackall <mpm@selenic.com>
date Wed, 13 Aug 2008 20:18:42 -0500
parents 29772acb5d2a
children 40690d614ce6
comparison
equal deleted inserted replaced
6894:29772acb5d2a 6895:a6bb94930105
48 raise repo.RepoError(_("repository %s not found") % path) 48 raise repo.RepoError(_("repository %s not found") % path)
49 elif create: 49 elif create:
50 raise repo.RepoError(_("repository %s already exists") % path) 50 raise repo.RepoError(_("repository %s already exists") % path)
51 else: 51 else:
52 # find requirements 52 # find requirements
53 requirements = []
53 try: 54 try:
54 requirements = self.opener("requires").read().splitlines() 55 requirements = self.opener("requires").read().splitlines()
56 for r in requirements:
57 if r not in self.supported:
58 raise repo.RepoError(_("requirement '%s' not supported") % r)
55 except IOError, inst: 59 except IOError, inst:
56 if inst.errno != errno.ENOENT: 60 if inst.errno != errno.ENOENT:
57 raise 61 raise
58 requirements = []
59 # check them
60 for r in requirements:
61 if r not in self.supported:
62 raise repo.RepoError(_("requirement '%s' not supported") % r)
63 62
64 self.store = store.store(requirements, self.path) 63 self.store = store.store(requirements, self.path)
65
66 self.spath = self.store.path 64 self.spath = self.store.path
67 self.sopener = self.store.opener 65 self.sopener = self.store.opener
68 self.sjoin = self.store.join 66 self.sjoin = self.store.join
69 self.opener.createmode = self.store.createmode 67 self.opener.createmode = self.store.createmode
70 68