2015-09-02 114 views
0

分支支持,用户指南变通为企业架构师

目前缺乏版本控制,企业架构师不支持版本控制分支。 某些版本控制产品可能有可能实现类似结果的变通办法;联系Sparx支持寻求建议。

对我而言,可用的支持渠道并不是非常灵敏,所以我们来看看SO对此有何评论。基本上,我想用我管理模型的方式来管理模型,所以当我的产品库分支时,我希望模型能够支持它。有什么不同的方式来处理这个问题?优点缺点?

+0

由于Sparx支持建议“对于某些VC”,我们需要知道您正在使用哪一个。 –

+0

我使用SVN,但如果另一个VC或数据库使事情变得更容易,我愿意提供建议。 – lasplund

回答

2

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

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

  • 如果(这是不可能用几句话来解释)的变化只是局部的包,你可以导入通过一个简单的XMI导入的变化。

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

  • 如果发生结构性变化,您可能最好在其他分支中手动进行更改,并进行眼睛检查。

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

+0

我正在寻找的分支不是主要功能分支,它们会在某个时候合并回来。相反,它们代表可能需要与主线分开维护的变体,偶尔您可能需要在主线上采用新功能并将其移至分支。我认为你证实了我怀疑这不是件容易的事,但你也给了我许多我没有想过的新方法。 – lasplund

+0

是的。这往往被低估。我相信这会让你和你的同事忙着一阵忙碌;-) –