Having human usability problems with the git-lfs command line. I don't have all the subcommands memorized, nor do completions work yet (would be nice if
#1133
was merged even without
git lfs
vs
git-lfs
) so I'm often having to look up commands and documentation online.
robo@robo-unseptium ~/c/configs> git-lfs --help
Sorry, no usage text found for "git-lfs"
robo@robo-unseptium ~/c/configs> git-lfs -v
git-lfs/2.4.2 (GitHub; linux amd64; go 1.8.3)
robo@robo-unseptium ~/c/configs> git-lfs -h
Sorry, no usage text found for "git-lfs"
robo@robo-unseptium ~/c/configs> git-lfs about
Error: unknown command "about" for "git-lfs"
Run 'git-lfs --help' for usage.
robo@robo-unseptium ~/c/configs> git-lfs help
Sorry, no usage text found for "git-lfs"
robo@robo-unseptium ~/c/configs> git lfs help
Sorry, no usage text found for "git-lfs"
robo@robo-unseptium ~/c/configs> git lfs --help
# brings up pager with manpage docs
Then in the man page docs, they show commands like this:
git-lfs-checkout(1)
Populate working copy with real content from Git LFS files.
git lfs clone
Efficiently clone a Git LFS-enabled repository.
git-lfs-fetch(1)
Download git LFS files from a remote.
git-lfs-fsck(1)
Check GIT LFS files for consistency.
Some are separated with spaces, (works) but some are dashed, as whole commands, none of which work. It's quite inconsistent. Note git-lfs-clone(1)
is a valid manpage, but there doesn't seem to be any reasoning behind which subcommands are linked to their own manpages.
How can I figure out why git-lfs
and git lfs
are so different? I understand that one is an executable in the path and another is a git plugin, but how do these actually connect to the same set of options? (Or how should they?)
Hi @robobenklein, thanks for opening this issue! Sorry that it has taken me a few days to get back to you: I was out of the office last week and have been catching up on email that I've missed since getting back.
Regarding the casing inaccuracies in the manpage git-lfs(1)
, I have fixedd those in #3059, which will be a part of the next Git LFS release.
Here's what I think is going on with each of those invocations:
robo@robo-unseptium ~/c/configs> git-lfs --help
Sorry, no usage text found for "git-lfs"
Is something intercepting your commands at the shell and trying to find a matching manpage when given --help
?
robo@robo-unseptium ~/c/configs> git-lfs -v
git-lfs/2.4.2 (GitHub; linux amd64; go 1.8.3)
Working as expected, though you can invoke with git lfs --version
or git lfs -v
if you choose.
robo@robo-unseptium ~/c/configs> git-lfs -h
Sorry, no usage text found for "git-lfs"
I think that this is the same case as the first snippet.
robo@robo-unseptium ~/c/configs> git-lfs about
Error: unknown command "about" for "git-lfs"
about
is not a sub-command bundled with Git LFS.
robo@robo-unseptium ~/c/configs> git-lfs help
Sorry, no usage text found for "git-lfs"
"no usage text" isn't a string anywhere in Git LFS, so I think your shell is interpreting this one as well.
robo@robo-unseptium ~/c/configs> git lfs help
Sorry, no usage text found for "git-lfs"
See above.
robo@robo-unseptium ~/c/configs> git lfs --help
I think that your shell is interpreting this again, since we don't open the pager by default.
So I just checked using bash (note that my default shell is zsh) so I don't have any frameworks or plugins installed there.
https://asciinema.org/a/t4FBqvjpGBnNJOuAufGn8z6qe
I'm not sure what I'm doing wrong then, or where that 'no usage text' is coming from.
The deb packages don't currently run `go generate` when building which
means commands like `git-lfs help` don't work properly. This changes
the packaging script to run it.
Fixes git-lfs#3043