我有一系列项目,这些项目都来自一个共同的框架。这个框架提供了一些相对静态的文件(所有项目都相同),每个用户必须修改部分文件(类似于项目),以及用户必须提供的一些文件(在项目中存在但不相关)。 / p>
通过提交历史,我看到对这些常见文件的提交已经以一种交叉方式完成。例如,在一次提交中,我看到同一文件在所有项目中以相同的方式更新。没有原始分支在这些文件之间建立祖先关系,而原始开发人员只是单独签入原始文件和所有后续更改。
在Subversion中有没有正确的方法来解决这个问题?有什么方法可以让我现在建立新的血统吗?我真的不关心纠正已经完成的所有错误,我只需要一种方法来强制存储库正确处理合并。
答案 0 :(得分:2)
似乎没有优雅的方法可以从中恢复。基本的限制是SVN显然无法管理多个祖先。它假定文件只有一个父文件。因此,您无法获取现有文件并合并到不相关的分支中,期望将来从该无关分支合并以完全合并。
最后我的决议是:
此时您拥有内容相同的文件,但他们的祖先表明它们来自框架文件。如果您有该框架的新版本,您现在应该可以轻松地从框架合并到您的项目中。
答案 1 :(得分:0)
你可以将类分解为它自己的subversion存储库。
为了获得最佳效果,请不要让项目依赖于“SNAPSHOT”版本,拥有真正的发布版本,并在需要最新版本时提升项目。
存在其他解决方案;但是,它们往往是临时解决方案。例如,Speed8ump提供的“如何在项目之间同步文件”计划确实有效(并且运行良好),直到某人再次修改其中一个副本而不将其更改分发到所有其他重复项。