无法在 vboxsf 安装(Windows 主机 - Ubuntu 客户机)上进行 svn 检出

无法在 vboxsf 安装(Windows 主机 - Ubuntu 客户机)上进行 svn 检出

我已将我的C:\Users\Mike\Projects目录注册为 VirtualBox 中的共享“项目”(完全访问、永久)。

在我的 Ubuntu 10.04 服务器 VM 中,我使用以下挂载命令:

sudo mount -t vboxsf -o uid=1000,gid=1000,rw,exec projects /home/mike/projects

共享目录已挂载。

mike@zsce:~$ ll
drwxrwxrwx 1 mike mike 4.0K 2011-02-01 10:32 projects

如果我在 Windows 上创建了一个文件,我可以在 Ubuntu 上查看并删除它,反之亦然。到目前为止一切顺利。

问题是我无法从这里的访客进行 svn checkouts。

mike@zsce:~/projects$ svn co svn://server/myproject/ ./myproject
svn: Can't move 'myproject/.svn/tmp/entries' to 'myproject/.svn/entries': Operation not permitted

我的目的是将 VM 用作本地开发服务器。使用 Windows 7 满足所有 IDE/电子邮件/Web/等需求,并仅使用服务器来测试和提交我的代码。Windows IDE 和 VM 的 Web 服务器将在同一源代码上运行。

但是,我最终无法写入该条目文件。

mike@zsce:~/projects/myproject/.svn$ ll entries
-r-xr-xr-x 1 mike mike 166 2011-02-01 10:34 entries

甚至root如果不先执行就无法删除文件chmod -R 777

是什么赋予了?

答案1

升级到 svn 1.7 就可以了。参见关联

虽然这是 vbox 的一个 bug,但看起来 subversion 团队正在积极修复它...

答案2

一个可能的解决方案是由 lipi 发布. 但这只是一场骗局。

svn_io_remove_file对于那些迫切需要解决方法的人,下面是我刚刚添加到subversion-1.6.12 中的hack svn_io_file_rename。它对我来说有效,但仍需要dmode=755在挂载选项中。

答案3

我找不到解决方案。经过广泛的 Google 搜索,发现其他人也遇到了同样的问题,但也无法找到解决方案。

我最终没有使用带有 vboxsf 的 VirtualBox 的共享文件夹功能,而是创建了一个 Windows 共享并将其安装在 Ubuntu VM 下。

相关内容