颠覆:删除旧的function分支与保留它们

我有一个与标准布局,即树干/和分支/(和标签/)的Subversion版本库。 在进行更大更改时,使用function分支,定期与主干同步,然后重新集成到主干(现在使用1.5)。 很标准的东西。

我想知道的是,这样一个function分支,一旦完成和合并应该保留或删除。 颠覆书偶尔似乎暗示删除它们是很常见的,但我也看到了一大堆保持分支的开源项目。

我也有点担心如何删除一个分支会使得难以跟踪哪些分支存在,特别是当可能重复的名字进入场景(比如我们search重构两次)时,他们的提交历史消失在仓库深处的某处等等

另一方面,分支机构的使用相当多,特别是现在有1.5个分支机构,我喜欢这样一个想法,即不需要通过一大堆不活跃的分支来查找我目前正在使用的分支机构。

我缺less什么优点和缺点? 人们在做什么?

如果您真的担心删除它们,以免被遗忘,那么只需在名为“inactive”的分支下创build一个文件夹,然后svn move旧的非活动分支svn move到该文件夹​​中。 这对你来说可能是两全其美的。

您可以安全地删除它们。 删除它们不会将它们从存储库中删除,分配的空间永远不会被回收,但它确实会使整个项目树看起来更清晰。

我们一直在删除function分支,因为我喜欢缺乏混乱。 其他一些开发人员也有一些小的困惑,但是由于我们在bug追踪系统中logging了提交的修订版本号,所以相当顺利。 如果有人来说他们无法find一个分支,build议在他们的log / diff / checkout /上使用-rrevision标志,不pipe什么都需要。

我的团队删除它们以防止混乱。 毕竟它不像是走开; 如果需要可以检索它们。 你是对的,可能很难find他们:你需要知道分支存在的修订号,所以你告诉你的客户看这个修订版,以便看到你的文件。

我们使用FogBugz进行项目pipe理,通过版本号来跟踪什么时候我们的SVN存储库被提交。 我们可以使用它来确定我们需要恢复的修订版本,以便查看我们的文件:我们在FogBugz中find特性历史logging,查看确定分支存在的修订版本,并使用该信息向后跳转。