我想将 Subversion 与基于脚本的开发系统一起使用,并且想知道与我通常的情况 (C#/.NET) 有什么不同。
正常的日常更新/提交周期将正常工作,更改跟踪和修订比较也将正常工作。我想要一些建议的地方是关于部署的处理。
使用此脚本系统,不涉及明显的构建步骤 - 相反,部署涉及将选定的脚本直接上传到主机应用程序中。
对脚本的更改不一定包含在下一个版本中——它们可能注定要在那之后的版本中发布,或者在之后的版本中。
在一个理想的世界中,我希望能够将脚本分配到给定的版本中,比如“2009 年 9 月”版本,一旦它经过测试,然后用一个命令拉出该版本的所有脚本。
更新
据我所知,Tags 和 ChangeLists 都不是答案。
ChangeLists 不是持久的(不存在于存储库中),我需要一个允许稍后进行审查的解决方案。
标签实际上与分支相同 - 默认情况下它们包含所有文件,您只需选择哪些修订。
我希望有一种从空分支开始的方法,可以根据需要将特定文件修订版放入其中。
更新 2
两个例子,展示了我如何通过其他工具中的功能来应对这种情况。请注意,我根本不想推广这些工具,因为我想使用颠覆,我只是想弄清楚如何。
使用QVCS,我可以通过将标签应用于文件的特定修订来实现我想要的结果。该标签将保留在原位,附加到该文件的该修订版。在任何时候,我都可以做一个干净的检查,进入一个空目录,并指定只有具有指定标签的文件应该被复制下来。
同样,使用StarTeam,我可以将标签应用于文件修订并仅签出具有该标签的文件。