我已经使用git-lfs extension设置了git。当使用Xcode 6进行搜索和替换时,它会在内部使用git在执行替换之前拍摄项目的快照。现在我正在使用lfs,快照失败并显示消息:
error: copy-fd: write returned Broken pipe
error: cannot feed the input to external filter git lfs clean %f
error: external filter git lfs clean %f failed 1
error: external filter git lfs clean %f failed
fatal: xxxx: clean filter 'lfs' failed
是否可以将Xcode配置为使用安装了lfs扩展名的git版本?或者更新Xcode使用的git版本以添加lfs扩展名?
我尝试在与Xcode使用的git相同的目录中安装git-lfs,但这没有帮助。
cp git-lfs /Applications/Xcode.app/Contents/Developer/usr/bin
答案 0 :(得分:1)
我猜你已经通过自制软件安装了git-lfs,因此它位于/usr/local/bin
,并更新了你的PATH
以匹配。问题是GUI应用程序不会从shell继承更新的PATH
,因为它们的父进程是launchd
。因此,当Xcode尝试运行git
时,Git会失败,因为它无法找到git-lfs
。
This answer讨论了OS X应用程序获取其环境的各种方式,以及如何修改OS X 10.9及更早版本中的默认值。
对于Yosemite,似乎不再支持/etc/launchd.conf
,因此修复方式略有不同:https://apple.stackexchange.com/questions/106355/setting-the-system-wide-path-environment-variable-in-mavericks。