Details
Details
Diff Detail
Diff Detail
- Repository
 - rHG Mercurial
 - Lint
 Automatic diff as part of commit; lint not applicable. - Unit
 Automatic diff as part of commit; unit tests not applicable. 
| hg-reviewers | 
| Automatic diff as part of commit; lint not applicable. | 
| Automatic diff as part of commit; unit tests not applicable. | 
| Path | Packages | |||
|---|---|---|---|---|
| M | mercurial/archival.py (11 lines) | 
| Status | Author | Revision | |
|---|---|---|---|
| Closed | martinvonz | ||
| Closed | martinvonz | ||
| Closed | martinvonz | ||
| Closed | martinvonz | ||
| Closed | martinvonz | ||
| Closed | martinvonz | ||
| Closed | martinvonz | ||
| Closed | martinvonz | ||
| Closed | martinvonz | ||
| Closed | martinvonz | 
| files = [f for f in ctx.manifest().keys() if matchfn(f)] | files = [f for f in ctx.manifest().keys() if matchfn(f)] | ||||
| else: | else: | ||||
| files = ctx.manifest().keys() | files = ctx.manifest().keys() | ||||
| total = len(files) | total = len(files) | ||||
| if total: | if total: | ||||
| files.sort() | files.sort() | ||||
| scmutil.prefetchfiles(repo, [ctx.rev()], | scmutil.prefetchfiles(repo, [ctx.rev()], | ||||
| scmutil.matchfiles(repo, files)) | scmutil.matchfiles(repo, files)) | ||||
| repo.ui.progress(_('archiving'), 0, unit=_('files'), total=total) | progress = scmutil.progress(repo.ui, _('archiving'), unit=_('files'), | ||||
| for i, f in enumerate(files): | total=total) | ||||
| progress.update(0) | |||||
| for f in files: | |||||
| ff = ctx.flags(f) | ff = ctx.flags(f) | ||||
| write(f, 'x' in ff and 0o755 or 0o644, 'l' in ff, ctx[f].data) | write(f, 'x' in ff and 0o755 or 0o644, 'l' in ff, ctx[f].data) | ||||
| repo.ui.progress(_('archiving'), i + 1, item=f, | progress.increment(item=f) | ||||
| unit=_('files'), total=total) | progress.complete() | ||||
| repo.ui.progress(_('archiving'), None) | |||||
| if subrepos: | if subrepos: | ||||
| for subpath in sorted(ctx.substate): | for subpath in sorted(ctx.substate): | ||||
| sub = ctx.workingsub(subpath) | sub = ctx.workingsub(subpath) | ||||
| submatch = matchmod.subdirmatcher(subpath, matchfn) | submatch = matchmod.subdirmatcher(subpath, matchfn) | ||||
| total += sub.archive(archiver, prefix, submatch, decode) | total += sub.archive(archiver, prefix, submatch, decode) | ||||
| if total == 0: | if total == 0: | ||||
| raise error.Abort(_('no files match the archive pattern')) | raise error.Abort(_('no files match the archive pattern')) | ||||
| archiver.done() | archiver.done() | ||||
| return total | return total | ||||