[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