Interface ArchiveCommand.Format<T extends Closeable>

  • Type Parameters:
    T - type representing an archive being created.
    All Known Implementing Classes:
    TarFormat, Tbz2Format, TgzFormat, TxzFormat, ZipFormat
    Enclosing class:
    ArchiveCommand

    public static interface ArchiveCommand.Format<T extends Closeable>
    Archival format. Usage: Repository repo = git.getRepository(); T out = format.createArchiveOutputStream(System.out); try { for (...) { format.putEntry(out, path, mode, repo.open(objectId)); } out.close(); }
    • Method Detail

      • createArchiveOutputStream

        T createArchiveOutputStream​(OutputStream s)
                             throws IOException
        Start a new archive. Entries can be included in the archive using the putEntry method, and then the archive should be closed using its close method.
        Parameters:
        s - underlying output stream to which to write the archive.
        Returns:
        new archive object for use in putEntry
        Throws:
        IOException - thrown by the underlying output stream for I/O errors
      • createArchiveOutputStream

        T createArchiveOutputStream​(OutputStream s,
                                    Map<String,​Object> o)
                             throws IOException
        Start a new archive. Entries can be included in the archive using the putEntry method, and then the archive should be closed using its close method. In addition options can be applied to the underlying stream. E.g. compression level.
        Parameters:
        s - underlying output stream to which to write the archive.
        o - options to apply to the underlying output stream. Keys are option names and values are option values.
        Returns:
        new archive object for use in putEntry
        Throws:
        IOException - thrown by the underlying output stream for I/O errors
        Since:
        4.0
      • putEntry

        void putEntry​(T out,
                      ObjectId tree,
                      String path,
                      FileMode mode,
                      ObjectLoader loader)
               throws IOException
        Write an entry to an archive.
        Parameters:
        out - archive object from createArchiveOutputStream
        tree - the tag, commit, or tree object to produce an archive for
        path - full filename relative to the root of the archive (with trailing '/' for directories)
        mode - mode (for example FileMode.REGULAR_FILE or FileMode.SYMLINK)
        loader - blob object with data for this entry (null for directories)
        Throws:
        IOException - thrown by the underlying output stream for I/O errors
        Since:
        4.7
      • suffixes

        Iterable<String> suffixes()
        Filename suffixes representing this format (e.g., { ".tar.gz", ".tgz" }). The behavior is undefined when suffixes overlap (if one format claims suffix ".7z", no other format should take ".tar.7z").
        Returns:
        this format's suffixes