基本问题:在这种情况下是否需要一个Subversion服务器?

3
现在情况如下:
  • 我正在开发一些个人软件项目(只有我一个人,在同一台计算机上)
  • 广泛使用TortoiseSVN进行版本控制
  • 在同一台计算机上运行CollabNet Subversion Server
仅仅指向存储库目录,与拥有服务器相比,是否真的有什么优势呢?
例如:而不是提交到svn://localhost/projectname,我可以只提交到C:/development/projectname
有人能为我在这种情况下提供建议吗?最佳实践是什么?
8个回答

5
不需要运行Subversion服务器来处理这种情况。您可以告诉TortoiseSVN直接访问存储库文件(使用“file://”协议),一切都将正常工作。
但是,如果您想要:
- 将Subversion服务器移动到另一台机器 - 开始使用与服务器机器分离的笔记本电脑或净书 - 与他人共享您的工作
那么使用单独的服务器会使您的生活更轻松。

太棒了!只是出于好奇(可能是另一个问题),将存储库文件放回服务器需要涉及哪些内容? - Jay Wick
1
@jay:如果你在另一台机器上运行Subversion服务器,你需要某种网络连接来检入文件。请注意,这将限制您进行Subversion操作的时间仅仅是当您连接到网络时(例如,如果您有笔记本电脑并且正在火车上,您可能无法访问服务器)。这正是Git和Mercurial等分布式版本控制系统所设计解决的问题。 - Greg Hewgill

2

是的,目的是为了冗余,而不是协作。您不希望同时失去活动工作目录和存储库。但是,您始终可以实施其他形式的备份程序。


1
我也是一个单人团队,在家里/办公室有一些电脑网络。我必须设置一个Windows 2008服务器,所以我在上面安装了Subversion,并在我的笔记本电脑客户端上使用Tortoise。
我喜欢将主机放在单独的机器上,这样备份更好。此外,如果第二个程序员来到工作室,我已经做好了准备。

0

0

我认为运行服务器并不是必需的。如你所写,你可以使用 file:// URL 提交到本地仓库。

如果我没记错的话,如果你的仓库存储在网络共享中或被多个用户访问,则不建议使用 file:// URL。但只要你单独在本地工作,就没有问题。

如果你需要将仓库移动到服务器计算机,这应该不是一个问题(只需移动仓库并指向 svnserve 即可)。


0

设置服务器很简单,而且只需要做一次。那为什么不呢?

但这并非百分之百必要。何必费心呢?

我认为这并不重要。只需选择一个并坚持使用即可。

就我个人而言,在家里的Windows开发机上,我运行CollabNet作为服务。我提交所有自己的东西,并定期备份存储库。

我不明白为什么不使用服务器会有什么好处。设置它,忠实地使用它,备份它,然后忘记它。

对我来说,这是关于练习和养成习惯。我建议您始终以同样的方式进行操作。


0
虽然我现在会推荐使用像git或Mercurial这样的分布式版本控制系统,但我始终使用服务器。这样我就可以从学校的电脑以及托管仓库的桌面电脑上访问我的代码库。

0

就我个人而言,我使用Mercurial和Bitbucket上的免费托管。如果数据只存在于一个地方,我感觉不够安全。

(提到Mercurial仅因为他们为非开源工作提供免费的私有托管)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接