存储库的Trunk文件夹?

时间:2009-08-03 14:03:09

标签: svn tortoisesvn

我正在为Subversion挖掘我们的结构,并且拥有我认为大多数人使用的标准结构,即每个项目使用一个存储库和多个文件夹:

MainRepository
    Project1
       branches
       trunk
       tags
    Project2
       branches
       trunk
       tags
..and so on

我的问题是,我是否需要根MainRepository的trunk,branches和tags文件夹?如果你从行李箱中检查出来,为什么你会说Project1。我不知道我是否需要一个或者为什么你需要一个trunk文件夹或其他在repo的实际根目录。

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

5 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:5)

SVN书籍建议将trunk / tags / branches放在根目录或项目子目录中,但不能同时放在两者中。

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

答案 2 :(得分:1)

由你决定。我们为每个项目使用单独的repos作为额外的隔离,这使我们很有用:防止新的错误检查每个项目而不是他们需要的项目。

答案 3 :(得分:1)

如果您拥有所有项目通用的代码或附属品,则存储库根目录中的中继/分支/标记可能有意义。例如,某些共享库或者规范/ PDF / .DOC等不能完全适合您的其他项目。

除此之外,我没有看到在根目录中有Trunk / Branches / Tags的原因。

答案 4 :(得分:1)

不确定行李箱,但您可能需要标签和分支机构。假设您正在处理跨越多个项目的缺陷。您需要一个具有所有项目状态的分支。此外,如果主要(和次要)版本发生交互,您可能希望标记所有项目。