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