comparison mercurial/subrepo.py @ 13180:a79e0688a5ee

subrepo: fix git archive parsing of directories and symfiles
author Eric Eisner <ede@mit.edu>
date Mon, 20 Dec 2010 13:59:33 -0500
parents b512a7074349
children 413bef846806
comparison
equal deleted inserted replaced
13179:b512a7074349 13180:a79e0688a5ee
884 tarstream = self._gitcommand(['archive', revision], stream=True) 884 tarstream = self._gitcommand(['archive', revision], stream=True)
885 tar = tarfile.open(fileobj=tarstream, mode='r|') 885 tar = tarfile.open(fileobj=tarstream, mode='r|')
886 relpath = subrelpath(self) 886 relpath = subrelpath(self)
887 ui.progress(_('archiving (%s)') % relpath, 0, unit=_('files')) 887 ui.progress(_('archiving (%s)') % relpath, 0, unit=_('files'))
888 for i, info in enumerate(tar): 888 for i, info in enumerate(tar):
889 if info.isdir():
890 continue
891 if info.issym():
892 data = info.linkname
893 else:
894 data = tar.extractfile(info).read()
889 archiver.addfile(os.path.join(prefix, self._relpath, info.name), 895 archiver.addfile(os.path.join(prefix, self._relpath, info.name),
890 info.mode, info.issym(), 896 info.mode, info.issym(), data)
891 tar.extractfile(info).read())
892 ui.progress(_('archiving (%s)') % relpath, i + 1, 897 ui.progress(_('archiving (%s)') % relpath, i + 1,
893 unit=_('files')) 898 unit=_('files'))
894 ui.progress(_('archiving (%s)') % relpath, None) 899 ui.progress(_('archiving (%s)') % relpath, None)
895 900
896 901