【发布时间】:2010-11-18 17:00:18
【问题描述】:
我对 Subversion 比较陌生,希望能从更有经验的人那里得到一些见解。我们正在采取一种方法,在主干上进行大部分开发工作(新功能和错误修复),并根据需要将错误修复合并到发布分支中。使用这种方法,开发人员根本不会直接针对发布分支进行编码,而只会合并到它们中。
我的第一个想法是,也许开发人员根本不需要发布分支的工作副本,也许对主干的更改可以直接合并到存储库中的分支中。但我很快了解到 Subversion 不是这样工作的——你需要一个工作副本来合并。
所以我的下一个想法是,开发人员仍然可以在本地只保留一个代码库副本,将其指向主干,并在需要进行合并时将 svn 切换到发布分支。我可以预见的几个潜在问题:
- 合并后可能太容易忘记 svn 切换回主干。
- 开发人员可能对他们的工作副本进行了未提交的更改(在他们被中断以修复错误之前,他们正在为将来的版本工作),当他们执行 svn 切换时这些更改仍然存在,并意外合并了这些更改到发布分支。
如果我为这个过程编写了一些脚本,我可以防止 #1 成为问题,但 #2 让我更加担心。我想知道这是否会破坏这种方法。
简而言之,我的问题是:当将错误修复从主干合并到发布分支时,开发人员还没有发布分支的工作副本,是否认为开发人员做的更好一个 svn 开关来进行合并,或者在本地不同位置签出发布分支的工作副本?提前致谢!
【问题讨论】: