PRISTINE-LFS(1)

NAME
pristine-lfs - store pristine tarballs in Git LFS

SYNOPSIS

pristine-lfs [-h|--help]

pristine-lfs [OPTIONS] commit [OPTIONS] (--auto | tarball)

pristine-lfs [OPTIONS] import-dsc [OPTIONS] dsc

pristine-lfs [OPTIONS] checkout [-o outdir] tarball

pristine-lfs [OPTIONS] list

pristine-lfs [OPTIONS] verify tarball

DESCRIPTION

pristine-lfs can store pristine upstream tarballs in Git leveraging Git LFS. Instead of storing the potentially large tarballs within the Git repository as blobs, Git LFS only stores specially prepared metadata in the repository, while storing the actual file contents out of band on a Git LFS server.

Using pristine-lfs allows Debian packages to be built entirely using sources in version control, without the need to keep copies of upstream tarballs.

pristine-lfs supports tarballs compressed with any compressor.

Tarball signatures (any files ending with .asc) are committed as they are, without utilising the Git LFS mechanisms.

COMMANDS

    pristine-lfs commit [-b BRANCH] [-m MESSAGE] [--force-overwrite] tarball [upstream]
        pristine-lfs commit stores the specified tarball using Git LFS, and commits its metadata to version control. The pristine-lfs checkout command can later be used to recreate the original tarball based on the information stored in Git LFS. The data are not submitted to the server until git push command is issued.

        The upstream parameter is ignored and is supported for compatibility with pristine-tar.

        If tarball with a different hash has already been committed, it will only be overwritten if --force-overwrite is specified.

    pristine-lfs import-dsc [-b BRANCH] [-m MESSAGE] [--force-overwrite] [--full] path-to-dsc
        Import tarballs and their signatures from a .dsc file of a Debian source package.

        If --full is specified, also imports the Debian packaging and the .dsc file itself.

        If tarball with a different hash has already been committed, it will only be overwritten if --force-overwrite is specified.

    pristine-lfs checkout [-b BRANCH] [-o outdir] [--full] (--auto | tarball)
        Regenerate a copy of the specified tarball using information previously saved in version control by pristine-lfs commit.

        By default, the tarball is placed in the current directory. If outdir is specified, the file is created in that directory.

        For compatibility with pristine-tar, tarball can include the path to the output directory; this takes precedence over the outdir option.

        If --auto is specified, pristine-lfs will consult a file named debian/changelog, and if it exists, will check out all tarballs associated with the latest version the changelog mentions.

        If --full is specified and a .dsc file is requested, also checks the Debian packaging and the .dsc file itself.

    pristine-lfs list [-b BRANCH]
        List tarballs that pristine-lfs is able to checkout from version control.

    pristine-lfs verify [-b BRANCH] tarball
        Verify whether an existing tarball matches the one that has been committed to version control.

OPTIONS

    -m MESSAGE, --message=MESSAGE
        Use the given MESSAGE as the commit message for the metadate commits. Applies to commit and import-dsc commands. %s in the commit message is replaced by a comma-separated list of files committed.

    -b BRANCH, --branch BRANCH
        Branch to store Git LFS metadata on.

    -v, --verbose
        Be more verbose.

    --debug
        Show all sorts of debugging information. Implies --verbose.

    -h  Show this help message and exit.

ENVIRONMENT

    TMPDIR
        Specifies a location to place temporary files, other than the default.

SEE ALSO

git-lfs(1), pristine-tar(1)

AUTHOR
Andrej Shadura <andrew.shadura@collabora.co.uk>