【问题标题】:Can the LibreOffice / OpenOffice merge tool be used as `git-mergetool`?LibreOffice / OpenOffice 合并工具可以用作`git-mergetool`吗?
【发布时间】:2012-08-01 06:55:18
【问题描述】:

我偶然发现了an old blog post 的建议,不幸的是,这只是一个未实现的想法。这是否同时完成/如何实现? (我听说 TortoiseGit 可能会这样做,但我正在运行 Linux)

另一种选择也可能是提到的重新压缩方法here,建议使用 git 过滤器跟踪未压缩的 OpenDocuments 并在结帐时重新压缩它们,这将提供至少合并(和区分)xml 内容的选项二进制垃圾(或有损odt2txt),但是我也没有发现这种方法的任何更新,最后post about this警告这种方法的潜在缺陷。

【问题讨论】:

  • 另一个选项,至少对于更新版本的 Open/LibreOffice,是不保存为压缩文件类型 - 在另存为对话框中,您可以选择“平面 XML”(.fods for电子表格,.fodt 用于文档等...)。文件会大得多,但会更合理地合并,因为它大致相当于重新压缩的方法,没有很多复杂性。
  • @twalberg 感谢您提供这些信息。与 --convert-to command line parameter 一起可以实现过滤器,假设 fod* od* 是可恢复的(直到不相关的更改)。 If only that wouldn't require Office to be closed...
  • (自我提示:该错误可以通过-env:UserInstallation=file:///some/path 解决)
  • @twalberg I tried automating this,不幸的是,由于一些元数据,它不能完全工作。但我将简单地指示所有用户(即目前的我)直接使用.fod? 文件。
  • 我从未尝试过自动化它,就像任何电子表格等一样。我想跟踪,我只是以这种方式保存它们。不必处理转换现有的工作,从你的其他 cmets 看来,这不是一个很顺利的过程......

标签: git git-merge opendocument mergetool


【解决方案1】:

你可以试试,你会告诉我们的。据我记得,合并工具被配置为有 4 个输入,因此您必须配置 Git 以将其用作合并工具。

您必须在配置文件中添加几行,merge.toolmergetool.<tool>.pathmergetool.<tool>.cmd

http://www.kernel.org/pub/software/scm/git/docs/git-config.html(在页面中搜索“merge.tool”)

http://www.kernel.org/pub/software/scm/git/docs/git-mergetool.html

希望对你有帮助

【讨论】:

  • 这对我来说不是最重要的,这就是为什么我希望有人已经尝试过......但是是的,if(可能是 when i>)我自己做,我会在这里发布答案(该死的绝地诡计:-P)
【解决方案2】:

twalbergcomment 启发,我编写了简单的脚本od2fodfod2od,它们使用Libre/OpenOffice 的--convert-to 参数来将压缩的xml 转换为未压缩的xml,反之亦然.由于bug denying CLI actions when the LibreOffice GUI is running,我不得不编写解决方法loInstance

#!/bin/bash
tmpdir=$(mktemp -d)
cp -rf ~/.libreoffice $tmpdir
soffice -env:UserInstallation=file://$tmpdir $@
rm -rf $tmpdir

od2fodfod2od 很简单:

#!/bin/bash
loInstance --headless --convert-to f${1#*.} $1

#!/bin/bash
loInstance --headless --convert-to ${1#*.f} $1

现在可以在.gitattributes 中设置cleansmudge 过滤器,但是我注意到LO 会跟踪多余的元数据,这会破坏clean-smudge 圈子。所以目前这只能作为textconvgit-diff的一个不完善的工具...

【讨论】:

    猜你喜欢
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 2010-12-21
    • 2018-10-06
    • 2014-09-24
    • 2013-12-18
    • 2015-10-22
    相关资源
    最近更新 更多