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 |