• Lars Gustäbel's avatar
    This is the implementation of POSIX.1-2001 (pax) format read/write · c64e4021
    Lars Gustäbel yazdı
    support.
    
    The TarInfo class now contains all necessary logic to process and
    create tar header data which has been moved there from the TarFile
    class. The fromtarfile() method was added. The new path and linkpath
    properties are aliases for the name and linkname attributes in
    correspondence to the pax naming scheme.
    
    The TarFile constructor and classmethods now accept a number of
    keyword arguments which could only be set as attributes before (e.g.
    dereference, ignore_zeros). The encoding and pax_headers arguments
    were added for pax support. There is a new tarinfo keyword argument
    that allows using subclassed TarInfo objects in TarFile.
    
    The boolean TarFile.posix attribute is deprecated, because now three
    tar formats are supported. Instead, the desired format for writing is
    specified using the constants USTAR_FORMAT, GNU_FORMAT and PAX_FORMAT
    as the format keyword argument. This change affects TarInfo.tobuf()
    as well.
    
    The test suite has been heavily reorganized and partially rewritten.
    A new testtar.tar was added that contains sample data in many formats
    from 4 different tar programs.
    
    Some bugs and quirks that also have been fixed:
    Directory names do no longer have a trailing slash in TarInfo.name or
    TarFile.getnames().
    Adding the same file twice does not create a hardlink file member.
    The TarFile constructor does no longer need a name argument.
    The TarFile._mode attribute was renamed to mode and contains either
    'r', 'w' or 'a'.
    c64e4021