如何解决使用 Git 合并 Draw.io (diagrams.net) 文件的更改
上下文:在我的公司,我们使用多页 Draw.io 图表记录我们的架构。这些图表包含在静态生成的文档网站中。这很有效,特别是因为我们可以链接图表和网站内容。
问题:现在文档越来越多,我们有时会有几个开发人员在不同的拉取请求中修改同一个 Draw.io 图。而且 Draw.io XML 格式不太擅长合并……所以我们不得不解决“软锁定”图表(具有良好的旧通信和 .OWNERS 文件)以避免 2 PR 同时修改图表。
我没有找到任何对合并插件的引用。最新版本的 Draw.io 桌面应用程序和 Web 编辑器允许协作编辑,但我没有找到一种方法来编写合并工具。任何想法如何进行?您对处理该问题的最佳方法有什么建议吗?
解决方法
根据Format of Draw.io XML file?,.drawio
文件类型可能包含原始 XML 或 XML 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 转换过程。
(我只测试了其中的一部分,让我知道它是否有效。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。