我正在使用 MySQL Workbench 来维护应用程序的数据库架构。 .mwb
Workbench 使用的文件是一个压缩的 XML 文档,保存在 Subversion 存储库中。
该文件被 Subversion 视为二进制数据,因此我无法使用 svn diff
显示更改,例如在提交之前。
由于数据实际上是 XML,我认为无论如何可能有某种方法可以显示差异,可能是一些之前解压缩文件的脚本,或者一些插件到 svn diff
.
理想的解决方案将允许:
$ svn diff db-model.mwb
甚至使用 Meld:
$ meld db-model.mwb
你能想到什么方法来实现这一点?也许其他人遇到过在 Subversion 中显示存档文本文件差异的问题。
最佳答案
Subversion 允许您使用 external differencing tools .您可以做的是编写一个包装脚本,并告诉 Subversion 将其用作它的“diff”命令。您的包装器将解析它从 Subversion 获取的参数以挑选出“左”和“右”文件名,操作
并返回一个错误代码,Subversion 会将其解释为成功或失败。在您的情况下,包装器可以解压缩 XML 文件,并将解压缩的结果传递给
“diff”或您选择的其他工具。
Subversion 将拒绝在 checkin 时检测为“二进制”的差异文件。“--force”选项允许您覆盖此检查,因此即使输入文件已 checkin ,您的包装脚本也会运行作为二进制文件。
关于svn - 压缩 xml 文件的 Subversion 差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1361059/