2

我正在尝试允许在 Enterprise Architect 中使用 Subversion,但遇到了一些问题:

我创建了一个 eap 文件,将其导入,然后签出该文件并在 Enterprise Architect 中打开它。然后我配置了项目的版本控制设置,并将其定向到我的 SVN 客户端。我选择了一个包,使用“将分支添加到版本控制”,然后“签出”。我做了一些更改,然后“签入”。在我的 subversion 日志中,我看到确实签入了文件。然后,使用 Subversion,我签出了一个干净的副本,并打开了 eap 文件。令我惊讶的是,那里没有显示任何更改(或我的基线)。但是在我做了“获取最新”之后 - 变化就在那里(但不是基线)。

我究竟做错了什么?应该是这样吗?因为我希望当我签出一份干净的副本时,它将是最新的。Enterprise Architect 不就是这种情况吗?

4

2 回答 2

6

外部版本控制(CVS、Subversion、TFS 等)的预期用途是对单个包进行版本控制,而不是对 .EAP 文件进行版本控制。“获取最新”和其他版本控制命令仅适用于包,它们对 .EAP 文件没有影响。

这样,每个建模者都可以维护自己的 .EAP 文件,并选择要包含哪些版本的受控包以及它们应该放置在他们的 EA 项目中的哪个位置。当然,您也可以自己拥有几个不同的 .EAP 文件。

因此,将 .EAP 文件视为您通常检查 Subversion 树的目录。该目录本身不会签入存储库,如果您愿意,您可以将相同的内容签出到几个不同的目录中。

这种方法(这是使用 EA 实现团队建模的三种方法之一)确实意味着存储在 .EAP 文件中的某些内容根本不受版本控制,主要是各种项目设置。如果您有特定的存储需求,请首先查看它们是否可以从 EA 导出(查看帮助文件以获取“导出参考数据”)。

如果您最终仍需要存储项目本身,我会将其放置在不同的 Subversion 目录中,该目录不会被包标记和分支;这只会让人感到困惑。

最后,如果您只是为您的模型设置 Subversion 存储库,我建议您也看看 EA 的基线功能。这是一种不涉及 Subversion 的版本控制的不同方式,并且在我看来更易于管理 - 但您需要确保为您的 .EAP 文件制定了有效的备份策略。

于 2012-06-14T05:25:39.797 回答
1

a/ 使用上下文菜单“包控制 > 文件属性”...获取锁定文件的名称

b/ 在本地 SVN 中找到这个文件

c/ 使用 SVN 上下文菜单,“SVN Get Lock”,选中“Steal the locks”选项

d/ 然后你可以通过“Release lock...”来释放SVN中的锁,或者直接使用Check in EA等。

注意:我使用的是 Tortoise SVN。

于 2014-05-07T07:53:00.337 回答