equal
deleted
inserted
replaced
89 self.path, authinfo = u.authinfo() |
89 self.path, authinfo = u.authinfo() |
90 |
90 |
91 opener = build_opener(ui, authinfo) |
91 opener = build_opener(ui, authinfo) |
92 self.opener = opener(self.path) |
92 self.opener = opener(self.path) |
93 |
93 |
94 # find requirements |
|
95 try: |
94 try: |
96 requirements = self.opener.read("requires").splitlines() |
95 requirements = scmutil.readrequires(self.opener, self.supported) |
97 except IOError, inst: |
96 except IOError, inst: |
98 if inst.errno != errno.ENOENT: |
97 if inst.errno != errno.ENOENT: |
99 raise |
98 raise |
|
99 requirements = set() |
|
100 |
100 # check if it is a non-empty old-style repository |
101 # check if it is a non-empty old-style repository |
101 try: |
102 try: |
102 fp = self.opener("00changelog.i") |
103 fp = self.opener("00changelog.i") |
103 fp.read(1) |
104 fp.read(1) |
104 fp.close() |
105 fp.close() |
106 if inst.errno != errno.ENOENT: |
107 if inst.errno != errno.ENOENT: |
107 raise |
108 raise |
108 # we do not care about empty old-style repositories here |
109 # we do not care about empty old-style repositories here |
109 msg = _("'%s' does not appear to be an hg repository") % path |
110 msg = _("'%s' does not appear to be an hg repository") % path |
110 raise error.RepoError(msg) |
111 raise error.RepoError(msg) |
111 requirements = [] |
|
112 |
|
113 # check them |
|
114 for r in requirements: |
|
115 if r not in self.supported: |
|
116 raise error.RequirementError( |
|
117 _("requirement '%s' not supported") % r) |
|
118 |
112 |
119 # setup store |
113 # setup store |
120 self.store = store.store(requirements, self.path, opener) |
114 self.store = store.store(requirements, self.path, opener) |
121 self.spath = self.store.path |
115 self.spath = self.store.path |
122 self.sopener = self.store.opener |
116 self.sopener = self.store.opener |