马上:
- 我有一些我开发的个人软件项目(只有我自己,并且只在一台 PC 上)
- 广泛使用 TortoiseSVN 进行版本控制
- 在同一台 PC 上运行 CollabNet Subversion Server
拥有服务器而不只是指向存储库目录真的有什么优势吗?
例如:svn://localhost/projectname
我可以承诺C:/development/projectname
并侥幸逃脱,而不是承诺。
有人可以建议我在这种情况下的最佳做法是什么?
马上:
拥有服务器而不只是指向存储库目录真的有什么优势吗?
例如:svn://localhost/projectname
我可以承诺C:/development/projectname
并侥幸逃脱,而不是承诺。
有人可以建议我在这种情况下的最佳做法是什么?
不,在这种情况下,不需要运行 Subversion 服务器。您可以告诉 TortoiseSVN 直接访问存储库文件(使用file://
协议),一切都会正常工作。
但是,如果您满足以下条件,使用单独的服务器将使您的生活更轻松:
是的,是为了冗余,而不是协作。您不想丢失活动工作目录和存储库。但是,您始终可以制定其他形式的备份程序。
我也是一个单人表演,在我的家/办公室里有一个计算机网络。无论如何,我必须设置一个 Windows 2008 服务器,所以我在上面安装了 Subversion,并在我的笔记本电脑客户端上使用了 Tortoise。
我喜欢将主机放在单独的机器上,以便更好地备份。另外,我准备好以防第二个程序员来店里工作。
我认为没有必要运行服务器。正如您所写,您也可以使用 file:// url 提交到本地存储库。
如果我没记错的话,如果您的存储库存储在网络共享上和/或由多个用户访问,则不建议使用 file:// URL。但只要你一个人在本地工作,就没有问题。
如果您需要将存储库移动到服务器计算机,那应该不是问题(只需移动存储库并将 svnserve 指向它)。
设置服务器很简单,您只需执行一次。那为什么不呢?
但这不是 100% 必要的。何必?
我认为这并不重要。只需选择一个并坚持下去。
就个人而言,我在家中的 Windows 开发机器上将 CollabNet 作为服务运行。我提交所有自己的东西并定期备份存储库。
我看不出不使用服务器有什么好处。设置它,忠实地使用它,备份它,忘记它。
对我来说,这是关于练习和养成习惯的。我建议你一直这样做。
尽管我现在会推荐 DVCS,例如 git 或 Mercurial,但我总是使用服务器。这样我就可以从我在学校的计算机以及托管存储库的桌面访问我的存储库。
就个人而言,我使用 Mercurial,并在 bitbucket 上免费托管。如果数据只存在于一个地方,我会觉得不太安全。
(仅提及 Mercurial,因为他们为非开源工作提供免费的私人托管)