我一直在使用StarTeam进行版本控制,但是正在转向Subversion。我一直在阅读Subversion book,StarTeam似乎有一个主要特性,Subversion不会 - 标签的概念。我知道Subversion有标签,但是它们在StarTeam中意味着不同。在StarTeam中,我可以将一组文件标记为“准备好构建”,然后只检查这些文件并将其包含在特定版本中。然后,我可以创建一个冻结标签,指出该版本中包含哪些文件(类似于Subversion标签,除了它在那些特定版本上,不是目录中的所有内容)。在subversion中创建一个“标签”,指出下一个版本中应该包含哪些文件
有没有办法在Subversion中获得这样的功能?我知道你可以指定要修改哪个版本,但是在你有代码并且即将发布版本,发现错误或者某人决定特定更改的情况下会发生什么情况不应包括在内。我知道你可以根据存储库和本地工作副本创建标签,但是这涉及检查不应包含的文件的特定修订并创建标签。随着准备建立“标签”,你不会把标签放在你不想要的文件的头版上。在Subversion中没有出现任何自动的方式来指定某个版本的修订。在分支中应该开发新功能的情况并不是这样,但是如果修订版本位于主干中(或者在哪里制作标签),则更多,但不应包括在内。它可能不需要恢复 - 更改可能是适当的,但在未来的版本中,不是现在的版本。如果您没有针对您需要的确切文件版本的特定修订版,您似乎必须从存储库和您的工作副本手动混合和匹配。
在类似的情况下,如果Subversion中的文件不是发行版的一部分,并且不需要加标签,会出现什么情况。在StarTeam中,您不会将准备好的标签附加到它们,但在Subversion中,它似乎是目录中的所有内容。有没有办法从构建和标签中排除这些文件?这是什么svndumpfilter排除是为了?
简而言之,有没有办法只在标签中包含某些文件的特定修订版本,还是必须是版本库中的特定修订版本,或是存储库中的手动文件组合以及工作副本?