git-lfs/commands
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
..
command_checkout.go Use proper repo permissions when creating directories 2018-12-13 17:51:02 +00:00
command_clean.go progress,tools: move CopyCallback (and related) to 'tools' 2017-11-22 14:08:33 -08:00
command_clone.go commands: teach pull() to get remote from cfg.Remote() 2017-10-27 16:11:16 -06:00
command_env.go command/env: ensure we honor lfs.url 2019-01-11 17:22:51 +00:00
command_ext.go update package imports 2016-11-15 10:01:18 -07:00
command_fetch.go tasklog: don't log progress status when stdout is not a tty 2018-11-14 14:35:29 -08:00
command_filter_process.go tq, commands: send refspec on batch upload calls 2018-01-05 11:12:57 -07:00
command_fsck.go Use proper repo permissions when creating directories 2018-12-13 17:51:02 +00:00
command_install.go lfs: use *git.Configuration instance 2017-10-25 16:12:29 -06:00
command_lock.go commands: canonicalize paths properly on Windows 2018-09-21 17:52:53 +00:00
command_locks.go locking: new "locks --cached" option to display last known lock data 2018-11-14 18:23:50 +01:00
command_logs.go remove reliance on global config filesystem vars 2017-10-18 18:09:33 -06:00
command_ls_files.go Rename ls-files --name option to --name-only (-n) 2018-09-20 09:38:17 -07:00
command_migrate_export.go tasklog: don't log progress status when stdout is not a tty 2018-11-14 14:35:29 -08:00
command_migrate_import.go tasklog: don't log progress status when stdout is not a tty 2018-11-14 14:35:29 -08:00
command_migrate_info.go Modify logic of 'migrate info' to process extensionless files 2019-01-08 12:44:06 +03:00
command_migrate.go commands/command_migrate.go: use formatRefName to qualify references 2018-09-25 14:39:15 -07:00
command_pointer.go commands/command_pointer.go: introduce --check option 2019-01-31 19:36:01 -08:00
command_post_checkout.go Update usage info for post-checkout 2018-01-19 21:28:09 -05:00
command_post_commit.go commands: remove any cfg.Remote() calls from Command flags 2017-10-27 15:07:36 -06:00
command_post_merge.go commands: remove any cfg.Remote() calls from Command flags 2017-10-27 15:07:36 -06:00
command_pre_push.go commands: remove internal refUpdate type in favor of git.RefUpdate 2018-01-05 15:22:25 -07:00
command_prune.go commands/prune: limit concurrency of goroutines 2019-01-15 18:53:09 +00:00
command_pull.go Use proper repo permissions when creating directories 2018-12-13 17:51:02 +00:00
command_push.go commands/command_push.go: set pushRemote 2018-07-20 16:38:39 -07:00
command_smudge.go lfs: remove LocalMediaPath() 2017-10-25 11:31:15 -06:00
command_status.go command/status: handle deleted files gracefully 2019-01-17 17:43:55 +00:00
command_track.go commands/track: read all attributes files to parse macros 2018-12-03 17:18:50 +00:00
command_uninstall.go commands/uninstall: add a --skip-repo option 2018-10-17 18:53:04 +00:00
command_unlock.go locking: new "locks --cached" option to display last known lock data 2018-11-14 18:23:50 +01:00
command_untrack.go commands/{un,}track: local-prefix agnostic comparison 2018-04-05 10:51:26 -07:00
command_update.go git: remove unused arg 2017-10-25 19:20:35 -06:00
command_version.go lfsapi: extract new lfshttp package 2018-09-11 14:51:29 -07:00
commands_test.go all: expand config.Environment interface to support multiple values per key 2017-04-12 17:29:11 -04:00
commands.go Use proper repo permissions when creating directories 2018-12-13 17:51:02 +00:00
lockverifier.go lfsapi: extract new lfshttp package 2018-09-11 14:51:29 -07:00
multiwriter.go tasklog: check for connected tty on the actual writer 2018-11-14 14:35:29 -08:00
path_nix.go commands: osLineEnding() is more descriptive 2017-02-03 17:50:47 -07:00
path_windows.go commands: osLineEnding() is more descriptive 2017-02-03 17:50:47 -07:00
path.go commands/path.go: add documentation to trimCurrentPrefix 2018-04-05 12:17:37 -07:00
pointers.go each command should open and close a gitscanner just once 2016-11-17 17:22:21 -07:00
pull.go commands: add flags to get conflicted contents 2018-10-02 13:57:08 +00:00
run.go Fix cobra help command to work properly with newer version of cobra 2019-01-17 21:04:19 +00:00
uploader_test.go commands: extract lockVerifier from uploadContext 2017-11-01 17:35:43 -06:00
uploader.go commands/uploader: improve error message on missing object 2018-11-28 17:15:17 +00:00