我们拥有多台 RHEL5 开发服务器,每个开发人员一台。每台服务器都是开发人员自己的沙箱,可通过 Samba 共享使用 Subversion 签出(RHEL5 客户端不可选,公司政策要求 Windows XP)。现在,几位开发人员将笔记本电脑作为主要开发箱,并希望即使在没有网络连接的情况下(例如在演示室或家中)也能使用他们的代码。当然,我更喜欢 R/W,但 R/O 也可以。
我正在考虑使用透明持久缓存的系统,其中有一个虚拟驱动器,当在线时它将与原始共享同步,当离线时它将替换网络驱动器。可能还有其他解决方案,您有什么建议吗?
编辑:从评论来看,我注意到解释我们在做什么是多么困难。我再试一次。有一个中央 SVN 存储库和开发人员的开发箱可供使用。但是,由于公司限制,他们不能直接使用这些盒子作为 Linux 客户端,而是需要使用 Windows XP 作为开发客户端。因此,Web 服务器保留在 RHEL5 开发箱(参考平台)上,签出也保留在那里并通过 Samba 共享给开发人员(独家!)。没有误解 SVN 是什么,不是什么,只是签出位于服务器上而不是客户端上。正因为如此,它们无法在线使用,但希望它们可以在线使用——这就是我的问题的本质。
告诉我这是否更容易理解:)
答案1
我喜欢 Matt Simmons 的建议:使用版本控制系统。话虽如此,如果出于某种原因不切实际,请查看 Windows XP 客户端中的“脱机文件”。几年来,我一直在使用“脱机文件”来对抗 Samba。有些版本有各种愚蠢的问题,但如果您运行的是较新的版本(我不知道 RHEL5 附带哪个版本),您应该没问题。
答案2
在我看来,你可能没有理解 subversion 背后的一般思想(如果我错了,请原谅我)。看起来你正在尝试重新发明 subversion 默认已经做的事情。
通常,从我所见和使用的情况来看,你会创建一个包含代码或文档的存储库。然后每个开发人员“签出”自己的当地的复制。 此本地副本存储在他们的硬盘上完成后,他们会签入他们的副本,并上传他们所做的更改。
对于我来说,使用 SAMBA 引入另一层没有多大意义,除非是为了向非技术人员提供一些只读版本。
答案3
我将一些写作内容保存在 Subversion 存储库中,并且使用乌龟SVN作为我 Windows 机器上的 subversion 客户端。您是否考虑过让他们签出那里的存储库,并可能为他们提供一个“笔记本电脑开发”分支或类似的东西,他们可以将更改合并到其中,然后将它们纳入他们的其他开发工作?