svn - 我应该将所有项目存储在一个还是多个存储库中?

标签 svn version-control tortoisesvn repository

我目前正在使用 TortoiseSVN 来管理我目前正在进行的几个项目。当我第一次将所有内容移至源代码管理中时,我不太确定应如何布置所有内容,因此我最终将每个项目放入其自己的存储库中。

我想知道将它们全部移动到一个大存储库中并将它们分成项目文件夹对我来说是个好主意吗?其他人都做什么?

目前它们都没有共享通用代码,但将来可能会。如果将它们放在一起,管理起来会更容易吗?

谢谢。

最佳答案

在一定程度上取决于您所说的“项目”的含义。

我有一个通用的本地存储库,其中包含我编写的随机内容(包括我的网站,因为它很小)。除非您花费多年的时间进行打字,否则单用户本地 SVN 存储库不会遇到明显的性能问题。到时候SVN无论如何都会更快。因此,我还没有后悔将所有内容都放在一个存储库中,尽管其中的一些内容除了我编写的之外完全无关。

如果“项目”意味着“类作业”,或“我用来驱动 TiVo 的脚本”,或“我学习新语言的进度”,那么为每个项目创建一个存储库似乎有点没有必要我。话又说回来,它也不需要任何费用。所以我想我会说不要改变你正在做的事情。除非您真的想要重新组织存储库的经验,在这种情况下一定改变您正在做的事情:-)

但是,如果“项目”指的是一个“真正的”软件项目,可以公开访问存储库,那么我认为每个项目单独的存储库是有意义的:部分原因是它干净地划分了事物,并且每个项目独立扩展,还因为这是人们期望看到的。

在单独的存储库之间共享代码并不像您想象的那样是一个问题,因为 svn 具有相当可爱的“svn:externals”功能。这使您可以将存储库的目录指向另一个存储库中的目录,并自动将这些内容与您的内容一起 check out 。与往常一样,请参阅 SVN 书籍以获取详细信息。

关于svn - 我应该将所有项目存储在一个还是多个存储库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/130447/

相关文章:

svn - 如何继续在 Subversion 中失败的加载

svn - 配置 Subversion 客户端以使用 3 向冲突标记

svn - CruiseControl.NET 不执行 Subversion 钩子(Hook)脚本

visual-studio - TF400324 : Team Foundation services are not available from server <Server/CollectionName> in Visual Studio 2012

visual-studio - Visual Studio 中用于 TortoiseSVN 的差异/合并工具

iis - “c:\folder”的工作副本已锁定。尝试编写一个只读数据库

svn - 在 SVN 中 checkout 文件

linux - 在关联文件中增加新版本的版本号(文档)

ios - iOS团队开发中如何管理共享资源?

windows - MSYS : How to convert backslash to forward slash? 上的 TortoiseSVN 命令行输出不方便