mercurial/subrepo.py
changeset 21891 db8a27d92818
parent 21889 ee7e8dcffc92
child 22590 d4c972b97fee
equal deleted inserted replaced
21890:0f916db7f297 21891:db8a27d92818
   607     def _initrepo(self, parentrepo, source, create):
   607     def _initrepo(self, parentrepo, source, create):
   608         self._repo._subparent = parentrepo
   608         self._repo._subparent = parentrepo
   609         self._repo._subsource = source
   609         self._repo._subsource = source
   610 
   610 
   611         if create:
   611         if create:
   612             fp = self._repo.opener("hgrc", "w", text=True)
   612             lines = ['[paths]\n']
   613             fp.write('[paths]\n')
       
   614 
   613 
   615             def addpathconfig(key, value):
   614             def addpathconfig(key, value):
   616                 if value:
   615                 if value:
   617                     fp.write('%s = %s\n' % (key, value))
   616                     lines.append('%s = %s\n' % (key, value))
   618                     self._repo.ui.setconfig('paths', key, value, 'subrepo')
   617                     self._repo.ui.setconfig('paths', key, value, 'subrepo')
   619 
   618 
   620             defpath = _abssource(self._repo, abort=False)
   619             defpath = _abssource(self._repo, abort=False)
   621             defpushpath = _abssource(self._repo, True, abort=False)
   620             defpushpath = _abssource(self._repo, True, abort=False)
   622             addpathconfig('default', defpath)
   621             addpathconfig('default', defpath)
   623             if defpath != defpushpath:
   622             if defpath != defpushpath:
   624                 addpathconfig('default-push', defpushpath)
   623                 addpathconfig('default-push', defpushpath)
   625             fp.close()
   624 
       
   625             fp = self._repo.opener("hgrc", "w", text=True)
       
   626             try:
       
   627                 fp.write(''.join(lines))
       
   628             finally:
       
   629                 fp.close()
   626 
   630 
   627     @annotatesubrepoerror
   631     @annotatesubrepoerror
   628     def add(self, ui, match, dryrun, listsubrepos, prefix, explicitonly):
   632     def add(self, ui, match, dryrun, listsubrepos, prefix, explicitonly):
   629         return cmdutil.add(ui, self._repo, match, dryrun, listsubrepos,
   633         return cmdutil.add(ui, self._repo, match, dryrun, listsubrepos,
   630                            os.path.join(prefix, self._path), explicitonly)
   634                            os.path.join(prefix, self._path), explicitonly)