【问题标题】:Merge changes on Draw.io (diagrams.net) files with Git使用 Git 合并 Draw.io (diagrams.net) 文件的更改
【发布时间】:2021-05-21 13:29:30
【问题描述】:

背景:在我的公司,我们使用多页 Draw.io 图表来记录我们的架构。这些图表包含在静态生成的文档网站中。这很有效,尤其是因为我们可以链接图表和网站内容。

问题:现在文档已经增长,我们有时会有几个开发人员在不同的 Pull Requests 中修改同一个 Draw.io 图。而且 Draw.io XML 格式不太擅长合并……所以我们不得不解决“软锁定”图表(具有良好的旧通信和 .OWNERS 文件)以避免 2 个 PR 同时修改图表。

我没有找到任何对合并插件的引用。最新版本的 Draw.io 桌面应用程序和 Web 编辑器允许协作编辑,但我没有找到一种方法从它开始编写合并工具。任何想法如何进行?您对处理该问题的最佳方法有什么建议吗?

【问题讨论】:

  • draw.io 是否提供某种合并工具/差异工具?
  • 您可以制作自己的锁定机制以防止并发访问。

标签: git draw.io


【解决方案1】:

根据Format of Draw.io XML file?.drawio 文件类型可能包含 原始 XMLXML deflate-compressed 数据。

官方文档也支持这一点:

保存图表的默认格式前段时间已从原始 XML 更改为使用标准 deflate 压缩的 XML。主要原因是当 Google 的服务器遇到问题时,压缩文件的写入机会要大得多。也就是说,原始 XML 可能有助于查看图表是如何构建的。

https://drawio-app.com/extracting-the-xml-from-mxfiles/

您应该可以通过设置<mxfile compressed="false" ...>disable XML compression

所以一种方法可能是:

  • 仅处理未压缩的.drawio xml 文件。
  • 源代码控制/差异/合并这些文件为人类可读的文本。
  • 在构建静态文档站点时添加 svn/png 转换过程。

(我只测试了其中的一部分,如果它有效,请告诉我。)

【讨论】:

    猜你喜欢
    • 2022-11-27
    • 2016-10-14
    • 2021-10-11
    • 2013-09-26
    • 1970-01-01
    • 2010-10-25
    • 2013-02-16
    • 2019-07-25
    • 1970-01-01
    相关资源
    最近更新 更多