Mercurial > hgsubversion
diff hgsubversion/stupid.py @ 757:6e18d9ab6557
pull: stop handling .hgsvnexternals explicitely in memctx
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Fri, 19 Nov 2010 17:07:13 +0100 |
parents | 2bf300b83136 |
children | 76ebfc41f490 |
line wrap: on
line diff
--- a/hgsubversion/stupid.py +++ b/hgsubversion/stupid.py @@ -389,10 +389,6 @@ def fetch_externals(svn, branchpath, r, externals[dir] = values.get('svn:externals', '') except IOError: externals[dir] = '' - - if not externals and '.hgsvnexternals' not in parentctx: - # Do not create empty externals files - return None return externals @@ -604,17 +600,20 @@ def convert_rev(ui, meta, svn, r, tbdelt files_touched, filectxfn2 = fetch_branchrev( svn, meta, b, branches[b], r, parentctx) + externals = {} if meta.layout != 'single': externals = fetch_externals(svn, branches[b], r, parentctx) - if externals is not None: - files_touched.append('.hgsvnexternals') + externals = svnexternals.getchanges(ui, meta.repo, parentctx, + externals) + files_touched.extend(externals) def filectxfn(repo, memctx, path): - if path == '.hgsvnexternals': - if not externals: + if path in externals: + if externals[path] is None: raise IOError(errno.ENOENT, 'no externals') - return context.memfilectx(path=path, data=externals.write(), - islink=False, isexec=False, copied=None) + return context.memfilectx(path=path, data=externals[path], + islink=False, isexec=False, + copied=None) for bad in bad_branch_paths[b]: if path.startswith(bad): raise IOError(errno.ENOENT, 'Path %s is bad' % path)