Tru*_*mpi 47

你有两种选择.你已经提到的那个,那就是每个项目有一个主干(选项1):

https://simucal-projects.googlecode.com/svn/projectA/trunk/
https://simucal-projects.googlecode.com/svn/projectA/tags/
https://simucal-projects.googlecode.com/svn/projectA/branches/

https://simucal-projects.googlecode.com/svn/projectB/trunk/
https://simucal-projects.googlecode.com/svn/projectB/tags/
https://simucal-projects.googlecode.com/svn/projectB/branches/
Run Code Online (Sandbox Code Playgroud)

选项2将有一个主干,每个项目是主干下的子文件夹:

https://simucal-projects.googlecode.com/svn/trunk/projectA/
https://simucal-projects.googlecode.com/svn/tags/projectA/
https://simucal-projects.googlecode.com/svn/branches/projectA/

https://simucal-projects.googlecode.com/svn/trunk/projectB/
https://simucal-projects.googlecode.com/svn/tags/projectB/
https://simucal-projects.googlecode.com/svn/branches/projectB/
Run Code Online (Sandbox Code Playgroud)

选项1的优点是您可以独立地分支和标记每个项目.如果您需要单独部署每个项目,这是可取的.

如果所有项目一起部署,则选项2是可取的.这是因为您只需在部署时标记存储库一次.

由于您在学校项目中使用Subversion,因此您需要问自己是否需要标记您的工作.你也可以问问自己是否需要创建分支(如果你想进行一些实验,你可能会想要).您还需要问问自己,您是否乐意将您的所有工作整合为一个,您是否愿意独立分支每个项目的灵活性.

我一直遵循的经验法则:将我们一起部署的任何内容捆绑在一起.

(顺便说一下 - 你可以在同一个存储库中有许多中继 - 这几乎相当于在多个存储库中有一个中继,除了每个存储库都维护自己的修订计数器,你不能在存储库之间进行合并.)


Qui*_*son 9

这就是我用于家庭源代码控制的东西.

我只有一个主存储库的地方.

Repository/Project1/Trunk
Repository/Project1/Tags
Repository/Project1/Branches

Repository/Project2/Trunk
Repository/Project2/Tags
Repository/Project2/Branches

我喜欢这种结构,很容易引用项目并保持完整性.


Mil*_*dev 6

一个真实的例子:Apache Projects 存储库.