##// END OF EJS Templates
subrepo: keep ui and hgrc in sync when creating new repo
Benoit Boissinot -
r10666:4c50a90b stable
parent child Browse files
Show More
@@ -177,24 +177,32 b' class hgsubrepo(object):'
177 177 self._state = state
178 178 r = ctx._repo
179 179 root = r.wjoin(path)
180 if os.path.exists(os.path.join(root, '.hg')):
181 self._repo = hg.repository(r.ui, root)
182 else:
180 create = False
181 if not os.path.exists(os.path.join(root, '.hg')):
182 create = True
183 183 util.makedirs(root)
184 self._repo = hg.repository(r.ui, root, create=True)
185 f = file(os.path.join(root, '.hg', 'hgrc'), 'w')
186 f.write('[paths]\ndefault = %s\n' % os.path.join(
187 _abssource(ctx._repo), path))
188 f.close()
184 self._repo = hg.repository(r.ui, root, create=create)
189 185 self._repo._subparent = r
190 186 self._repo._subsource = state[0]
191 187
188 if create:
189 fp = self._repo.opener("hgrc", "w", text=True)
190 fp.write('[paths]\n')
191
192 def addpathconfig(key, value):
193 fp.write('%s = %s\n' % (key, value))
194 self._repo.ui.setconfig('paths', key, value)
195
196 defpath = os.path.join(_abssource(ctx._repo), path)
197 addpathconfig('default', defpath)
198 fp.close()
199
192 200 def dirty(self):
193 201 r = self._state[1]
194 202 if r == '':
195 203 return True
196 204 w = self._repo[None]
197 if w.p1() != self._repo[r]: # version checked out changed
205 if w.p1() != self._repo[r]: # version checked out change
198 206 return True
199 207 return w.dirty() # working directory changed
200 208
General Comments 0
You need to be logged in to leave comments. Login now