我在SVN中看到的存储库至少没有在客户端上创建本地trunk,branches和tags文件夹。那么SVN使用所需的默认文件夹(我使用的是乌龟)还是什么?我不明白为什么有些人拥有这些文件夹,但有些人没有在存储库的某些实现中。
答案 0 :(得分:11)
正如其他人所说,不需要有trunk / branches /标签。这些文件夹对颠覆没有特殊意义,只是符合您需要的最佳实践。
但是既然你提到了TortoiseSVN,那么有一个小细节:当你尝试提交/ tags 的子文件夹时,Tortoise会发出警告。它强制标记在创建后不会被修改(另一种最佳实践)。
更新(回复您的评论):
最佳做法是说您的存储库中应该包含“trunk”,“branches”和“tags”文件夹。使用这些文件夹的一种方式(可能是最常见的方法)是:
现在要颠覆,所有文件夹(主干,标签,分支)都是“普通”文件夹。它们现在具有特殊意义,而且颠覆不会对它们有任何不同(例如,这意味着您可以修改“/tags/1.0”中的内容)。
TortoiseSVN会在您尝试提交标记时通过警告您来强制执行最佳做法(因为通常您希望保留标记,因为它们可以随时重建旧版本的产品)。
答案 1 :(得分:6)
绝对不需要。许多公司认为它是最佳实践,并且拥有主干/分支目录适用于许多软件环境,并且对来自cvs等的人来说似乎更为熟悉。
一个不太理想的例子是在Subversion中存储网站。我工作过的几家公司都有Devel和Live目录。工作在Devel目录中完成,并在绿灯亮起时合并到Live目录中。
正如Greg所说,你肯定想要根目录下的SOME目录,但不需要特定的结构。
答案 2 :(得分:4)
由于在Subversion中标记或分支的唯一方法是在其他树中进行复制,省略标准的trunk / tags / branches目录会阻止您在“外部”的位置创建存储库的副本你的项目目录。如果您想要在没有默认目录的情况下进行标记或分支,那么您最终将创建它们并移动项目。
答案 3 :(得分:0)
这不能回答你的问题,(其他人已经有)但是如果你只想要主干,只需在初步获取/结账时指定。