OSX 的实现sshfs
不喜欢连接到运行 SSHDroid 的 Android 手机,所以我尝试通过安装 ubuntu 虚拟机来获得访问权限,而sshfs
该虚拟机又具有到手机的安装点。
我的主要目标是将git
手机上的存储库的提交拉到 MacBook 上的存储库,反之亦然。我的典型工作流程是 1) 在 Mac 和手机上提交更改; 2)从手机中拉取新的提交; 3)在Mac上合并; 4)将合并提交拉回手机。
这大部分有效,但我发现git fetch
(获取手机上的存储库)经常失败
error: unable to create temporary file: Interrupted system call
fatal: failed to write object
fatal: unpack-objects failed
这种情况并不总是发生——有时git fetch
会成功完成,一切都很好。也许这可能是某种时间问题。
是否有一个选项可以传递给一个或两个sshfs
调用以使这项工作顺利进行?
我意识到我可以通过虚拟机上的中间存储库进行拉取,但这会有点麻烦。
答案1
使用git fetch --quiet
。为了实现进度表的git
使用setitimer()
,这又会导致频繁的SIGALRM
交付。sshfs
不能很好地处理它们,根据时间和命令导致Interrupted system call
或错误。File exists
这个问题与时间相关,并且随着存储库的增大而变得更糟。