git-lfs/docs/man/git-lfs-pointer.1.ronn
Taylor Blau c5bfafb83d commands/command_pointer.go: introduce --check option
We have used the 'git-lfs-pointer(1)' command historically to compare
varying implementation of the Git LFS protocol. This has been done by
passing both `--file` and `--stdin` to the command, which will in turn
compare the contents of both handles and return appropriately whether
they are the same or different.

One use case that Git LFS pointer does not yet support directly is
_checking_ to see whether a given file is a valid Git LFS pointer. This
is a different use-case than before, since we aren't doing any
comparison, we're simply checking whether the official implementation of
Git LFS can parse a given stream as a pointer.

As an aside, one way to do this today is the following:

  $ git lfs clean < a.txt | git lfs pointer --stdin --file my.ptr

Where we first generate a pointer of the file 'a.txt' (via
`git-lfs-clean(1)`), and then redirect that to `git-lfs-pointer(1)`
against our own file.

Let's make this above incantation easier to execute by providing a
functionally equivalent `--check` option. Running `git lfs pointer
--check` (and passing either `--file`, or `--stdin`) will return either
1 or 0 depending on whether or not the given pointer file was invalid or
not.
2019-01-31 19:36:01 -08:00

38 lines
1.1 KiB
Markdown

git-lfs-pointer(1) -- Build, compare, and check pointers
========================================================
## SYNOPSIS
`git lfs pointer --file=path/to/file`<br>
`git lfs pointer --file=path/to/file --pointer=path/to/pointer`<br>
`git lfs pointer --file=path/to/file --stdin`
`git lfs pointer --check --file=path/to/file`
## Description
Builds and optionally compares generated pointer files to ensure consistency
between different Git LFS implementations.
## OPTIONS
* `--file`:
A local file to build the pointer from.
* `--pointer`:
A local file including the contents of a pointer generated from another
implementation. This is compared to the pointer generated from `--file`.
* `--stdin`:
Reads the pointer from STDIN to compare with the pointer generated from
`--file`.
* `--check`:
Reads the pointer from STDIN (if `--stdin` is given) or the filepath (if
`--file`) is given. If neither or both of `--stdin` and `--file` are given,
the invocation is invalid. Exits 0 if the data read is a valid Git LFS
pointer. Exits 1 otherwise.
## SEE ALSO
Part of the git-lfs(1) suite.