我们有多个 RHEL5 开发服务器,每个开发人员一个。每台服务器都是开发人员自己的沙箱,可以通过 Samba 共享进行 Subversion 检出(不能选择使用 RHEL5 客户端,公司政策需要 Windows XP)。现在,一些开发人员将笔记本作为主要的开发工具箱,并希望即使在没有网络连接的情况下也可以使用他们的代码,例如在演示室或在家中。当然,R/W 是首选,但 R/O 也可以。
我正在考虑一些具有透明持久缓存的系统,位于一个虚拟驱动器,该驱动器将在联机时与原始共享同步,并在脱机时替换网络驱动器。可能还有其他解决方案,您会推荐什么?
编辑:从评论来看,我注意到解释我们在做什么是多么困难。我会再试一次。有一个中央 SVN 存储库和开发人员的开发箱可供使用。但是,他们不允许直接将这些机器用作 Linux 客户端,而是由于公司限制,他们需要使用 Windows XP 作为开发客户端。因此,网络服务器保留在 RHEL5 开发盒(这是参考平台)上,结帐也保留在那里,并通过 Samba 共享给开发人员(独家!)。对 SVN 是什么和不是什么没有误解,只是结帐位于服务器上而不是客户端上。正因为如此,它们不能在线获得,但希望它们是可用的——这一直是我问题的本质。
告诉我这是否更容易理解:)
我将我的一些写作保存在一个 subversion 存储库中,并在我的 Windows 机器上使用tortoiseSVN作为 subversion 客户端。您是否考虑过让他们检查那里的存储库,或者给他们一个“笔记本电脑开发”分支或其他东西,他们可以将更改合并到其中,然后将它们折叠到其他开发工作中?
我喜欢 Matt Simmons 的建议:使用你的版本控制系统。话虽如此,如果由于某种原因不实用,请查看 Windows XP 客户端中的“脱机文件”。几年来,我一直在对 Samba 使用“脱机文件”。有些版本有各种愚蠢的问题,但如果你运行的是较新的版本(我不知道 RHEL5 附带什么版本),你应该没问题。
在我看来,您可能错过了颠覆背后的总体思路(如果我错了,请原谅我)。看起来您正在尝试重新发明颠覆默认情况下已经做的事情。
通常,根据我所见和使用的情况,您会创建一个包含代码或文档的存储库。然后每个开发人员“签出”他们自己的本地副本。 此本地副本存储在他们的硬盘上。完成后,他们检查他们的副本,并上传他们所做的更改。
用 SAMBA 引入另一个层对我来说没有多大意义,除非它可能是为非技术人员提供一些只读版本。
在我看来,使用分布式版本控制系统(DVCS)(例如Bazaar、Git或Mercurial )会更好地匹配您的工作流程。这些系统都允许您离线工作(例如在旅行时),并且仍然可以提交并继续您的工作。
我相信我列出的三个 DVCS 将允许您继续在后端使用 subversion(需要付出一些额外的努力),并且可能会提供从 subversion 迁移的指南。