diff --git a/mercurial/subrepo.py b/mercurial/subrepo.py --- a/mercurial/subrepo.py +++ b/mercurial/subrepo.py @@ -1876,7 +1876,12 @@ if info.issym(): data = info.linkname else: - data = tar.extractfile(info).read() + f = tar.extractfile(info) + if f: + data = f.read() + else: + self.ui.warn(_(b'skipping "%s" (unknown type)') % bname) + continue archiver.addfile(prefix + bname, info.mode, info.issym(), data) total += 1 progress.increment()