10

是否可以将冲突标记更改为用户定义的内容?

动机:

在我身上发生了好几次,由于仓促和不太小心地合并了几个分支,我的 LaTeX 文档中有一些遗留的合并标签。对于大多数编程项目,这些标签会导致语法错误,因此我会发现它们。然而,在 Latex 中,<<<<、==== 和 >>>> 标记只是编译成一些其他字符序列而没有任何警告。

为了解决这个问题,我想将这些冲突标记更改为无法编译的东西,或者至少让它们非常明显地发现(例如分页符、大字体警告或编译警告)。

我当然可以制作一个(bash)脚本,用我选择的东西替换所有这些标记,但我更希望它是解决这个问题的更优雅的解决方案。

PS 我找到了 merge.conflictstyle 选项,但是 diff3 选项只添加了 |||| 也可以在没有警告的情况下编译的标记。

4

2 回答 2

9

即使有一种方法可以使自定义冲突标记 LaTeX 成为特定的(我认为没有,但我很可能是错的),选择一个在所有情况下都有效的方法可能很困难。一个更简单的解决方案是启用 git 的 stock “pre-commit” 钩子,它在提交时识别冲突标记,如果存在则拒绝提交。要启用它:

cd <repo>
mv .git/hooks/pre-commit.sample .git/hooks/pre-commit

git 附带的 stock hook 也会查找空格错误。要手动运行检查,请使用以下命令:

git diff --check
于 2012-07-09T11:39:26.933 回答
2

conflict-marker-size也许你可以用一个大数字来改变属性。所谓大数字,我的意思是一个会触发 Latex 警告的数字,因为该行太长了。

$ cat .gitattributes
*.tex conflict-marker-size=100 ;# Or whatever makes Latex unhappy
于 2012-07-09T12:00:10.030 回答