使用 Git 合并 Draw.io (diagrams.net) 文件上的更改

vgr*_*vgr 7 git draw.io

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

问题:既然文档已经增长,我们有时会有多个开发人员在不同的 Pull 请求中修改相同的 Draw.io 图。而且 Draw.io XML 格式不太擅长合并...因此我们必须解决“软锁定”图表(使用良好的旧通信和 .OWNERS 文件)以避免 2 个 PR 同时修改图表。

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

Mar*_*sen 5

根据Draw.io XML 文件的格式?.drawio文件类型可能包含原始 XMLXML deflate 压缩数据。

\n

官方文档也支持这一点:

\n
\n

保存图表的默认格式不久前已从原始 XML 更改为使用标准 deflate 压缩的 XML。这样做的主要原因是,当 Google\xe2\x80\x99s 服务器陷入困境时,压缩文件有更好的写入机会。也就是说,原始 XML 可能有助于了解图表的构建方式。

\n

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

\n
\n

您应该能够通过设置禁用 XML 压缩<mxfile compressed="false" ...>

\n

因此,一种方法可能是:

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

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

\n