diff --git a/mercurial/archival.py b/mercurial/archival.py --- a/mercurial/archival.py +++ b/mercurial/archival.py @@ -27,6 +27,7 @@ pycompat, scmutil, util, + scmutil, vfs as vfsmod, ) stringio = util.stringio @@ -313,15 +314,15 @@ ctx = repo[node] archiver = archivers[kind](dest, mtime or ctx.date()[0]) + if not match: + match = scmutil.matchall(repo) + if repo.ui.configbool("ui", "archivemeta"): name = '.hg_archival.txt' - if not match or match(name): + if match(name): write(name, 0o644, False, lambda: buildmetadata(ctx)) - if match: - files = [f for f in ctx.manifest().keys() if match(f)] - else: - files = ctx.manifest().keys() + files = [f for f in ctx.manifest().keys() if match(f)] total = len(files) if total: files.sort()