Git 无法将存储库克隆到 CIFS 挂载目录中

Git 无法将存储库克隆到 CIFS 挂载目录中

尝试将远程 Git 存储库克隆到 Linux 上的 CIFS 挂载目录中。

错误是:

$ git clone ssh://[email protected]/ghuser/ghuser.git dir
Cloning into 'dir'...
fatal: Unable to create temporary file '/home/user/dir/.git/objects/pack/tmp_pack_XXXXXX': Permission denied
fatal: index-pack failed

一些可能相关的信息:

$ uname -a
Linux myfarms-dev 3.12.0-1-ARCH #1 SMP PREEMPT Wed Nov 6 09:06:27 CET 2013 x86_64 GNU/Linux

$ cat /etc/fstab
...
//192.168.56.1/Code /home/user/dir cifs users,exec,noauto,credentials=/home/user/.smbcredentials,uid=user,gid=http,file_mode=0775,dir_mode=0775 0 0

$ umask
0002

对于我们大多数开发人员来说,这一过程都适用(即在 Linux 中安装 Windows 共享并将存储库克隆到其中),但对于这个开发人员来说却并非如此。有什么想法吗?

编辑:我目前采取的步骤:更新软件包、重新安装文件共享、检查 Windows 端目录的权限(用户完全访问权限)。错误最初发生在现有存储库内的 git fetch 期间。尽管有 umask,Git(或其他程序)似乎在没有 u+w 权限的情况下创建了 tmp_pack 文件。我删除了整个本地存储库并重新开始,导致在克隆期间出现上述错误。

答案1

经过一些测试和搜索,我发现了两个选项:

  1. 将内核降级至版本 3.11.6
  2. 使用 sudo 启动 git 命令。(https://superuser.com/a/121854/275562

相关内容