diff -r 06080afd0565 -r c04e0836f039 mercurial/archival.py --- a/mercurial/archival.py Sun Sep 15 22:43:32 2019 +0900 +++ b/mercurial/archival.py Tue Sep 17 10:47:31 2019 +0000 @@ -67,6 +67,7 @@ 'tbz2': ['.tbz2', '.tar.bz2'], 'tgz': ['.tgz', '.tar.gz'], 'zip': ['.zip'], + 'txz': ['.txz', '.tar.xz'] } def guesskind(dest): @@ -270,6 +271,7 @@ 'tar': tarit, 'tbz2': lambda name, mtime: tarit(name, mtime, 'bz2'), 'tgz': lambda name, mtime: tarit(name, mtime, 'gz'), + 'txz': lambda name, mtime: tarit(name, mtime, 'xz'), 'uzip': lambda name, mtime: zipit(name, mtime, False), 'zip': zipit, } @@ -295,6 +297,9 @@ subrepos tells whether to include subrepos. ''' + if kind == 'txz' and not pycompat.ispy3: + raise error.Abort(_('xz compression is only available in Python 3')) + if kind == 'files': if prefix: raise error.Abort(_('cannot give prefix when archiving to files'))