我正在使用 svn 在我的工作中实施更好的“工作实践”。我们已经使用 svn 几年了,但我们只是使用它,我认为它的容量是 20%;我们将它用于源代码版本控制,但我们不使用标签或分支概念。
对于未来,我们希望能够在每次修订或发布后借助标签保留应用程序代码的快照。这是帮助我找到最佳策略方向的文章。这也给了我一些理解,但给我留下了更多的问题。
这是我要遵循的模式:
- 团队不断地在主干上工作。
- 主干在每个修订版和每个发行版都被标记,以便可以获得任何版本的快照。
- 标记后,团队继续在主干上工作。
- 如果团队想要尝试任何东西,他们会分支代码并在完成后将更改合并回主干。
问题是我们还有一个应用程序依赖的自制框架。在我们的上下文中,标签的帮助是能够纠正现有版本中的一个小错误,而无需将最新版本发送给客户端;后备箱中的版本。正如您所想象的,框架与应用程序不在同一组文件夹中,因此,我认为必须创建与应用程序发布相关联的框架代码标签会非常难过。考虑到框架本身也可以在没有应用程序特定要求的情况下进行更改。
出于这个原因,如果在应用程序的先前版本中发现框架中的错误,我不知道哪种是创建标签和减轻痛苦的最佳策略。目前,应用程序是指框架,该框架的库位于每个应用程序解决方案的 libs 文件夹中。在这种情况下你会怎么做?哦,我必须指出该框架有 400 000 行代码。复制和过去的解决方案将被拒绝。:)
如果我必须修复以前版本中的错误,我该如何处理标签?我知道每次我想签入标签结构时,Subversion 都会通知我。即使Subversion通知我,我是否必须使用标签创建一个分支,更正错误,然后将修改合并/签入回标签文件夹?
我的应用程序中也有依赖项,例如DataDynamics.ActiveReports和Mindscape.LightSpeed,它们也是 Visual Studio 中的依赖项,因为这些应用程序集成在 IDE 中。如果我必须更正使用这些 IDE 插件以前版本的以前版本中的错误,我该如何处理?
最后,如果您能寄给我一些书籍或文章来帮助我对所有这些问题进行更深入的解释,我们将不胜感激。
非常感谢您的时间。