Svn 存储库的中继文件夹?

Svn 存储库的中继文件夹?,svn,tortoisesvn,Svn,Tortoisesvn,我对Subversion的结构进行了详细分析,并采用了我认为大多数人使用的标准结构,即每个项目使用一个存储库和多个文件夹: MainRepository Project1 branches trunk tags Project2 branches trunk tags ..and so on 我的问题是,我是否需要根存储库的主干、分支和标记文件夹?如果你是从Project1的后备箱退房,你为什么

我对Subversion的结构进行了详细分析,并采用了我认为大多数人使用的标准结构,即每个项目使用一个存储库和多个文件夹:

MainRepository
    Project1
       branches
       trunk
       tags
    Project2
       branches
       trunk
       tags
..and so on
我的问题是,我是否需要根存储库的主干、分支和标记文件夹?如果你是从Project1的后备箱退房,你为什么要这么做。我不知道我是否需要一个,或者为什么在回购协议的实际根目录中需要一个主干文件夹或其他文件夹

MainRepository
    Project1
       branches
       trunk
       tags
    Project2
       branches
       trunk
       tags
    ...
trunk
branches
tags

SVN手册建议将trunk/tags/branch放在根目录或projects子目录中,但不能同时放在这两个目录中


但是。。。这实际上只是一个惯例。SVN简单地将它们视为没有指定意义的简单树结构。如果你认为你需要它们,就使用它们。

实际上你并不“需要”它。你需要什么取决于你(和你的项目)。当您对每个项目使用repo而不是对多个项目使用一个repo时,根目录中的主干文件夹是有意义的,在这种情况下,根目录中不需要主干文件夹。

由您决定。我们对每个项目使用单独的回购协议,因为这给了我们额外的隔离是有用的:防止新手错误地签出每个项目,而不是他们需要的项目。

如果您有一些对所有项目都通用的代码或辅助资料,那么存储库根目录中的主干/分支/标记可能是有意义的。例如,一些共享库或specs/PDFs/.DOCs等,它们不适合您的其他项目


除此之外,我看不出在根目录中有Trunk/branchs/Tags的理由。

不确定Trunk,但您可能需要一个标签和分支。假设您正在处理跨多个项目的缺陷。您需要一个具有所有项目状态的分支。此外,如果主要(和次要)版本相互作用,您可能需要标记它们的所有项目。

您可能需要查看的答案(顺便说一句,它被标记为重复)。