基本问题:在这种情况下是不是需要颠覆服务器?
Posted
技术标签:
【中文标题】基本问题:在这种情况下是不是需要颠覆服务器?【英文标题】:Basic question: Is a subversion server necessary in this scenario?基本问题:在这种情况下是否需要颠覆服务器? 【发布时间】:2010-02-28 00:48:29 【问题描述】:现在:
我开发了一些个人软件项目(只有我自己,并且只在一台 PC 上) 广泛使用 TortoiseSVN 进行版本控制 在同一台 PC 上运行 CollabNet Subversion Server拥有一个服务器而不只是指向存储库目录真的有什么好处吗?
例如:我可以不提交 svn://localhost/projectname
,而直接提交 C:/development/projectname
并侥幸逃脱。
有人可以建议我在这种情况下的最佳做法是什么吗?
【问题讨论】:
【参考方案1】:不,在这种情况下,不需要运行 Subversion 服务器。您可以告诉 TortoiseSVN 直接访问存储库文件(使用 file://
协议),一切都会正常工作。
但是,如果您满足以下条件,使用单独的服务器会让您的生活更轻松:
想要将您的 Subversion 服务器移动到另一台机器上 开始使用独立于服务器的笔记本电脑或上网本 想与其他人分享您的工作【讨论】:
太棒了!只是出于好奇(可能是另一个问题),但是将存储库文件放回服务器会涉及什么? @jay:如果您在单独的机器上运行 Subversion 服务器,则需要与该机器建立某种网络连接才能签入文件。请注意,这将您可以执行 Subversion 操作的时间限制为连接到网络的那些时间(例如,如果您有一台笔记本电脑并且您在火车上,您可能无法访问您的服务器)。这正是像 Git 和 Mercurial 这样的 DVCS 旨在解决的问题。【参考方案2】:是的,是为了冗余,而不是协作。您不想丢失活动工作目录和存储库。但是,您始终可以制定其他形式的备份程序。
【讨论】:
【参考方案3】:我也是一个单人节目,我的家/办公室有一个计算机网络。无论如何,我必须设置一个 Windows 2008 服务器,所以我在上面安装了 Subversion,并在我的笔记本电脑客户端上使用了 Tortoise。
我喜欢将主机放在单独的机器上,以便更好地备份。另外,我准备好以防第二个程序员来店里工作。
【讨论】:
【参考方案4】:您可能会发现使用Mercurial 或另一个DVCS 会更简单。
【讨论】:
【参考方案5】:我认为没有必要运行服务器。正如您所写,您也可以使用 file:// url 提交到本地存储库。
如果我没记错的话,如果您的存储库存储在网络共享上和/或由多个用户访问,则不建议使用 file:// URL。但只要你一个人在本地工作,就没有问题。
如果您需要将存储库移动到服务器计算机,这应该不是问题(只需移动存储库并将 svnserve 指向它)。
【讨论】:
【参考方案6】:设置服务器很简单,您只需执行一次。那为什么不呢?
但这不是 100% 必要的。何必呢?
我认为这并不重要。只需选择一个并坚持下去。
就我个人而言,我在家中的 Windows 开发机器上将 CollabNet 作为服务运行。我提交所有自己的东西并定期备份存储库。
我看不出不使用服务器有什么好处。设置它,忠实地使用它,备份它,忘记它。
对我来说,这关乎练习和养成习惯。我建议你一直这样做。
【讨论】:
【参考方案7】:虽然我现在会推荐 DVCS,例如 git 或 Mercurial,但我总是使用服务器。通过这种方式,我可以从我在学校的计算机以及托管存储库的桌面访问我的存储库。
【讨论】:
【参考方案8】:就个人而言,我使用 Mercurial,并且在 bitbucket 上免费托管。如果数据只存在于一个地方,我会觉得不太安全。
(仅提及 Mercurial,因为他们为非开源工作提供免费的私人托管)
【讨论】:
以上是关于基本问题:在这种情况下是不是需要颠覆服务器?的主要内容,如果未能解决你的问题,请参考以下文章