你如何构建你的SVN存储库?

Juv*_*uve 13 svn project-management repository

什么是更好的?

A:

server:1080/repo/projectA/trunk/...
                          branches/branch1
                          branches/branch2
                          branches/branch3
                          tags/tag1/...
                          tags/tag2/...
server:1080/repo/projectB/trunk/...
                          branches/branch1
                          branches/branch2
                          branches/branch3
                          tags/tag1/...
                          tags/tag2/...
Run Code Online (Sandbox Code Playgroud)

B:

server:1080/repo/trunk/projectA/...
                 branches/projectA/branch1
                 branches/projectA/branch2
                 branches/projectA/branch3
                 tags/projectA/tag1/...
                 tags/projectA/tag2/...
server:1080/repo/trunk/projectB/trunk/...
                 branches/projectB/branch1
                 branches/projectB/branch2
                 branches/projectB/branch3
                 tags/projectB/tag1/...
                 tags/projectB/tag2/...
Run Code Online (Sandbox Code Playgroud)

您使用什么存储库结构?为什么?

Ore*_*ost 19

我们使用A,因为另一个对我们没有意义.请注意,关于SVN的"项目"不一定是单个项目,但可能是几个属于一起的项目(即您将在Visual Studio中添加到解决方案中的项目).这样,您就可以将任何相关的组合在一起.所有分支,标签和特定项目的主干.对我来说很有意义.

对分支/标记进行分组对我来说没有意义,因为不同项目的分支没有任何共同点,除了它们都是分支.

但最终,人们使用两种方式.做你喜欢的,但是当你决定的时候,试着坚持下去:)

另外:我们为每个客户提供单独的存储库,即客户的所有项目都在同一个存储库中.通过这种方式,您可以立即备份单个客户,或者在不与SVN抗争的情况下提供客户拥有的任何内容的源代码.


Mih*_*șan 17

SVN书籍的 " 存储库管理"一章包括一个关于规划存储库组织的部分,概述了不同的策略及其含义,特别是存储库布局对分支和合并的影响.


Gre*_*ill 8

我建议选择C:

server:1080/projectA/trunk/...
                     branches/branch1
                     branches/branch2
                     branches/branch3
                     tags/tag1/...
                     tags/tag2/...
server:1080/projectB/trunk/...
                     branches/branch1
                     branches/branch2
                     branches/branch3
                     tags/tag1/...
                     tags/tag2/...
Run Code Online (Sandbox Code Playgroud)

我更喜欢将单独的项目保存在单独的存储库中.使用svn:externals可以轻松管理在两个或多个应用程序项目之间共享的代码库项目.