Skip to content
  • Rene Scharfe's avatar
    git-archive --format=zip: add symlink support · 62cdce17
    Rene Scharfe authored
    
    
    Add symlink support to ZIP file creation, and a few tests.
    
    This implementation sets the "version made by" field
    (creator_version) to Unix for symlinks, only; regular files and
    directories are still marked as originating from FAT/VFAT/NTFS.
    
    Also set "external file attributes" (attr2) to 0 for regular
    files and 16 for directories (FAT attribute), and to the file
    mode for symlinks.
    
    We could always set the creator_version to Unix and include the
    mode, but then Info-ZIP unzip would set the mode of the extracted
    files to *exactly* the value stored in attr2.  The FAT trick
    makes it apply the umask instead.  Note: FAT has no executable
    bit, so this information is not stored in the ZIP file.
    
    Signed-off-by: default avatarRene Scharfe <rene.scharfe@lsrfire.ath.cx>
    Signed-off-by: default avatarJunio C Hamano <junkio@cox.net>
    62cdce17