Enterprise Architect 中缺少版本控制分支支持的解决方法
Work-arounds for the lack of version control branching support in Enterprise Architect
来自用户指南
目前,Enterprise Architect 不支持版本控制分支。
对于某些版本控制产品,可能有可能获得类似结果的变通方法;联系 Sparx 支持寻求建议。
我可用的支持渠道反应不是很好,所以让我们看看 SO 对此有何评论。基本上,我想像管理它正在建模的产品一样管理我的模型,所以当我的产品存储库分支时,我希望模型与其一起分支。有哪些不同的方法来处理这个问题? Pros/cons?
首先:模型不是代码。模型(XMI 格式)的困难在于它看起来可读,但实际上并非如此。所以问题来自合并。虽然代码中的合并会产生明显的结果(由于错误合并导致的编译器错误可以或多或少地轻松纠正),但模型的错误合并只会产生垃圾。因此,您不能对模型进行分支和合并。
现在,你怎么能这样做呢?如前所述:没有简单的解决方案。一种方法是为每个分支创建单独的存储库。只要分支机构独立生活就可以了。但是如何将更改从一个分支合并到另一个分支呢?遗憾地说,但我只能推荐手动方式。 UML 模型实际上没有可用的比较工具。您需要找到每个包的更改并导出该包。
如果(并且无法用几句话解释)更改只是该包的本地更改,您可以通过简单的 XMI 导入来导入更改。
如果您能够找到对单个元素的更改,您可以创建一个虚拟包,将这些元素暂时移动到该包中,然后将其移动。这将更新另一个分支中的元素,但也会将它们从它们的原始位置移动(就像您在第一个分支中所做的那样),您需要将元素移回它们在两个分支中的位置并摆脱虚拟包。
如果发生结构变化,您最好在另一个分支中手动进行更改并进行目视检查。
总而言之:模型分支不是您喜欢使用的。寻找替代方法。最好的可能是将所有内容都放在一个模型中,并找到使用包结构、标记值或其他方式标记模型内部分支的方法。也不容易处理。
来自用户指南
目前,Enterprise Architect 不支持版本控制分支。 对于某些版本控制产品,可能有可能获得类似结果的变通方法;联系 Sparx 支持寻求建议。
我可用的支持渠道反应不是很好,所以让我们看看 SO 对此有何评论。基本上,我想像管理它正在建模的产品一样管理我的模型,所以当我的产品存储库分支时,我希望模型与其一起分支。有哪些不同的方法来处理这个问题? Pros/cons?
首先:模型不是代码。模型(XMI 格式)的困难在于它看起来可读,但实际上并非如此。所以问题来自合并。虽然代码中的合并会产生明显的结果(由于错误合并导致的编译器错误可以或多或少地轻松纠正),但模型的错误合并只会产生垃圾。因此,您不能对模型进行分支和合并。
现在,你怎么能这样做呢?如前所述:没有简单的解决方案。一种方法是为每个分支创建单独的存储库。只要分支机构独立生活就可以了。但是如何将更改从一个分支合并到另一个分支呢?遗憾地说,但我只能推荐手动方式。 UML 模型实际上没有可用的比较工具。您需要找到每个包的更改并导出该包。
如果(并且无法用几句话解释)更改只是该包的本地更改,您可以通过简单的 XMI 导入来导入更改。
如果您能够找到对单个元素的更改,您可以创建一个虚拟包,将这些元素暂时移动到该包中,然后将其移动。这将更新另一个分支中的元素,但也会将它们从它们的原始位置移动(就像您在第一个分支中所做的那样),您需要将元素移回它们在两个分支中的位置并摆脱虚拟包。
如果发生结构变化,您最好在另一个分支中手动进行更改并进行目视检查。
总而言之:模型分支不是您喜欢使用的。寻找替代方法。最好的可能是将所有内容都放在一个模型中,并找到使用包结构、标记值或其他方式标记模型内部分支的方法。也不容易处理。