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

7

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

问题: 随着文档的增长,现在有多名开发人员在不同的Pull Requests中修改同一份Draw.io图表。而Draw.io XML格式并不擅长合并...所以我们必须采用“软锁定”图表(使用传统的沟通和.OWNER文件),以避免两个PR同时修改图表。

我没有找到任何关于合并插件的参考。最新版本的Draw.io桌面应用程序和Web编辑器支持协作编辑,但我没有找到从那里开始编写合并工具的方法。有什么想法吗?您有关于处理此问题的最佳方式的建议吗?


1
draw.io提供某种合并工具/差异工具吗? - dan1st
你可以自己制作锁定机制以防止并发访问。 - dan1st
1个回答

5
根据Format of Draw.io XML file?.drawio文件类型可以包含原始XMLXML deflate压缩数据。
这也得到了官方文档的支持:
引用块: 默认图表保存格式已经从原始XML更改为使用标准deflate进行XML压缩。主要原因是当Google的服务器遇到困难时,压缩文件更容易写入。尽管如此,原始XML可能有助于查看图表的构建方式。 https://drawio-app.com/extracting-the-xml-from-mxfiles/ 您应该能够通过设置<mxfile compressed="false" ...>禁用XML压缩
因此,一种方法可能是:
  • 仅处理未压缩的.drawio xml文件。
  • 将这些文件作为人类可读的文本进行源代码控制,差异和合并。
  • 在构建静态文档站点时添加svn/png转换过程。
(我只测试了其中的一部分,请告诉我是否有效。)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接