【问题标题】:Work-arounds for the lack of version control branching support in Enterprise ArchitectEnterprise Architect 中缺少版本控制分支支持的解决方法
【发布时间】:2015-12-25 01:43:01
【问题描述】:

来自用户指南

目前,Enterprise Architect 不支持版本控制分支。 对于某些版本控制产品,可能会采取变通办法来获得类似的结果;联系 Sparx 支持寻求建议。

我可以使用的支持渠道反应迟钝,所以让我们看看 SO 对此有何评论。基本上我想管理我的模型,就像我管理它正在建模的产品一样,所以当我的产品存储库分支时,我希望模型与它一起分支。有哪些不同的方法来处理这个问题?优点/缺点?

【问题讨论】:

  • Sparx 支持建议“对于某些 VC”,我们需要知道您使用的是哪一个。
  • 我正在使用 SVN,但如果另一个 VC 或数据库使事情变得更容易,我愿意接受建议。

标签: enterprise-architect


【解决方案1】:

首先:模型不是代码。模型(XMI 格式)的困难在于它看起来是可读的,但实际上并非如此。所以问题来自于合并。虽然代码中的合并会产生明显的结果(由于错误的合并导致的编译器错误可以或多或少地更正),但模型的错误合并只会造成垃圾。因此,您不能分支和合并模型。

现在,你该怎么办?如前所述:没有简单的解决方案。一种方法是为每个分支创建单独的存储库。只要分支机构独立生活就可以了。但是如何将一个分支的更改合并到另一个分支呢?可悲的是,但我可以推荐它的唯一方法是手动的。对于 UML 模型,实际上没有可用的比较工具。您需要找到每个包的更改并导出该包。

  • 如果(并且不可能用几句话解释)更改只是该包的本地更改,您可以通过简单的 XMI 导入来导入更改。

  • 如果您能够找到对单个元素的更改,则可以创建一个虚拟包,将这些元素临时移到该包中并将其移到上面。这将更新另一个分支中的元素,但也会将它们从其原始位置移动(就像您在第一个分支中所做的那样),您需要将元素移回它们在两个分支中的位置并摆脱虚拟包。

  • 如果发生结构更改,您最好在另一个分支中手动进行更改并进行审查。

总结一下:模型分支不是你喜欢使用的东西。寻找替代方法。最好的可能是将所有东西都放在一个模型中,并找到使用包结构、标记值或其他方式标记模型内部分支的方法。也不容易处理。

【讨论】:

  • 我正在寻找的分支主要不是会在某个时候合并回来的功能分支。相反,它们代表可能需要与主线分开维护的变体,有时您可能希望在主线上采用新功能并将其移至分支。我想你证实了我怀疑这不是一件容易的事情,但你也给了我一些我没有想到的新方法。
  • 是的。这常常被低估。我相信它会让你和你的同事的大脑忙碌一段时间;-)
猜你喜欢
  • 1970-01-01
  • 2014-03-16
  • 2016-01-06
  • 1970-01-01
  • 2018-03-10
  • 1970-01-01
  • 2022-12-12
  • 2018-02-28
  • 2017-11-06
相关资源
最近更新 更多