[PATCH] archive: add XZ support if built with Python 3
David Demelier
markand at malikania.fr
Wed Sep 18 03:18:27 EDT 2019
Le 17/09/2019 à 19:18, Martin von Zweigbergk a écrit :
>
>
> On Tue, Sep 17, 2019 at 7:16 AM Augie Fackler <raf at durin42.com
> <mailto:raf at durin42.com>> wrote:
>
>
>
> > On Sep 17, 2019, at 06:48, David Demelier <markand at malikania.fr
> <mailto:markand at malikania.fr>> wrote:
> >
> > # HG changeset patch
> > # User David Demelier <markand at malikania.fr
> <mailto:markand at malikania.fr>>
> > # Date 1568717251 0
> > # Tue Sep 17 10:47:31 2019 +0000
> > # Node ID c0398aef7f0977b5f076b15638762773dde7d5b6
> > # Parent 181ee2118a96c4b52bbd6d7b5a47e87f2e1d77e9
> > archive: add XZ support if built with Python 3
>
> queued, thanks
>
> >
> > diff -r 181ee2118a96 -r c0398aef7f09 mercurial/archival.py
> > --- a/mercurial/archival.py Wed Sep 11 15:03:08 2019 -0700
> > +++ 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'))
> > diff -r 181ee2118a96 -r c0398aef7f09 mercurial/commands.py
> > --- a/mercurial/commands.py Wed Sep 11 15:03:08 2019 -0700
> > +++ b/mercurial/commands.py Tue Sep 17 10:47:31 2019 +0000
> > @@ -514,6 +514,7 @@
> > :``tar``: tar archive, uncompressed
> > :``tbz2``: tar archive, compressed using bzip2
> > :``tgz``: tar archive, compressed using gzip
> > + :``txz``: tar archive, compressed using lzma (only in
> Python 3)
> > :``uzip``: zip archive, uncompressed
> > :``zip``: zip archive, compressed using deflate
> >
> > diff -r 181ee2118a96 -r c0398aef7f09 tests/test-archive.t
> > --- a/tests/test-archive.t Wed Sep 11 15:03:08 2019 -0700
> > +++ b/tests/test-archive.t Tue Sep 17 10:47:31 2019 +0000
> > @@ -566,6 +566,21 @@
> > *172*80*00:00*old/.hg_archival.txt (glob)
> > *0*80*00:00*old/old (glob)
> >
> > +test xz support only available in Python 3.4
> > +
> > +#if py3
> > + $ hg archive ../archive.txz
> > + $ xz -l ../archive.txz | head -n1
> > + Strms Blocks Compressed Uncompressed Ratio Check
> Filename (py3 !)
>
>
> I'll drop the "(py3 !)" here.
>
Yes, sorry I first wrote the block in one test rather than using
#if/#endif, then I forgot to remove the (py3 !) selectors.
Augie, is the patch already in place?
Otherwise I'll just send a new revision which cleans up this.
Regards,
--
David
More information about the Mercurial-devel
mailing list