最近,我发现.gitconfig
已附加以下几行:
[filter "hawser"]
clean = git hawser clean %f
smudge = git hawser smudge %f
required = true
由于它是版本控制的,因此我确定没有添加它们。看来我是not the only拥有这些行。
但是:
git: 'hawser' is not a git command
。 git help
不提供任何其他信息。那么,这个“大索”过滤器是什么?
最佳答案
我发现.gitconfig
中的更改恰好与mac的github更新相对应,这就是为什么我在存储库中将其标记为此类。
至于Hawser实际是什么,Github for mac已将其 bundle 在/Applications/GitHub.app/Contents/Resources/hawser/bin/git-hawser
路径中。
使用--help=false
运行可执行文件会产生:
git-hawser/0.4.0 (GitHub; darwin amd64; git 2.3.0; go 1.3)
Usage:
git-hawser [flags]
git-hawser [command]
Available Commands:
add Add an entry to .gitattributes
clean Implements the Git clean filter
env Show the current environment
init Initialize the default Git Media configuration
logs View error logs
ls-files Show information about hawser files
path Manipulate .gitattributes
push Push files to the hawser endpoint
rm Remove an entry from .gitattributes
remove Remove an entry from .gitattributes
smudge Implements the Git smudge filter
status Show information about hawser files that would be pushed
update Update local hawser configuration
version Show the version number
help [command] Help about any command
Available Flags:
--help=false: help for git-hawser
Use "git-hawser help [command]" for more information about that command.
在GitHub.app中的一些可执行文件上运行
strings
会打开字符串git-media | hawser,该字符串除了用法消息外还牢固地表明git-hawser是fork或重新实现了git-media,用于在git外部存储大文件回购,因为github有a hard 100MB file size limit。我现在正在测试,看看如果您尝试通过GitHub.app上传大文件会发生什么。事实证明,在处理大型文件时,GitHub.app不会自动使用git-hawser,但是
strings
揭示了它确实具有与git-hawser进程进行交互的能力。安装命令行工具会将
github
工具和git-hawser
安装到/usr/local/bin
。运行git-hawser version -c
可提供:git-hawser/0.4.0 (GitHub; darwin amd64; git 2.3.3; go 1.3)
Nothing may see Gah Lak Tus and survive!
这似乎有关:https://github.com/blog/1986-announcing-git-large-file-storage-lfs
而且,大号过滤器被复制为lfs(大文件支持):
[filter "lfs"]
clean = git lfs clean %f
smudge = git lfs smudge %f
required = true