![跨平台共享项目的文件系统](https://linux22.com/image/506818/%E8%B7%A8%E5%B9%B3%E5%8F%B0%E5%85%B1%E4%BA%AB%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.png)
我们进行的是跨平台开发,因此看到装有 Linux 和 2 或 3 个版本的 Windows 的机器并不奇怪。
到目前为止,我在每个平台上都有我们项目的 SVN 工作副本,但有时会变得很麻烦。我正在考虑为项目使用一个分区,可从所有平台访问。看起来唯一的选择是 FAT32 或 NTFS(Linux、Windows 甚至 Mac 都可以读取/写入)。
不过,我有点担心不同的文件系统语义。例如,区分大小写、所有权和权限。
您能推荐一个更好的便携式文件系统吗?您认为我的反对意见不合理吗?
编辑:让我澄清一下。我喜欢 SVN。我正在寻找的是在我的本地机器上有一个工作副本,供其中的所有操作系统共享。特别是当我远程工作时,我希望签出或更新一次并使用来自所有操作系统的相同工作副本。
答案1
你不能有相同的分区直接地在多个系统中安装(至少由于每个操作系统的缓存不一致,存在数据丢失的风险)。您必须在一个操作系统中卸载磁盘,然后在另一个操作系统中安装它,这几乎不比 svn commit/update 好。
对于真正的共享访问,您必须通过网络使用共享,然后文件系统就不再那么重要了(磁盘永远不会被主机操作系统直接接触)。
对于 Linux 和 OS X 之间的共享,您可以使用 NFS,它保留了大多数底层文件系统的语义,并且与 Samba 相比,它快速且轻松。
OS X <> Linux 共享中唯一真正的不兼容性是 OS X 中的非 ASCII 文件名必须在分解时使用 UTF-8(例如 ö 必须写为两个代码点:o 和 ¨)。Linux 并不关心,因此解决方案是在 OS X 上始终创建和签入此类文件。
如果您想要 Windows 兼容性,则必须禁止使用符号链接。理论上,它们在 NTFS 中是可行的,但它们无法在任何网络共享中存活。