10

競合マーカーをユーザー定義のものに変更することは可能ですか?

動機:

いくつかのブランチを急いであまり注意深くマージしなかったために、LaTeXドキュメントにマージタグが残っていることが何度かありました。ほとんどのプログラミングプロジェクトでは、これらのタグは構文エラーを引き起こすため、私はそれらを見つけます。ただし、Latexでは、<<<<、====、および>>>>タグは、警告なしに他の文字シーケンスにコンパイルされるだけです。

これを修正するために、これらの競合マーカーをコンパイルされないものに変更するか、少なくともそれらを非常に明確に見つけられるようにします(たとえば、ページ分割、巨大なフォント警告、またはコンパイル警告)。

もちろん、これらすべてのマーカーを自分で選択したものに置き換える(bash)スクリプトを作成することもできますが、この問題に対するより洗練されたソリューションをお勧めします。

PS merge.conflictstyleオプションを見つけましたが、diff3オプションは||||を追加するだけです 警告なしにコンパイルされるマーカー。

4

2 に答える 2

9

カスタムの競合マーカーをLaTeX固有にする方法があったとしても(あるとは思いませんが、間違いである可能性が非常に高いです)、すべての場合に機能するものを選択するのは難しいかもしれません。より簡単な解決策は、gitのストック「pre-commit」フックを有効にすることです。これは、コミット時に競合マーカーを識別し、存在する場合はコミットを拒否します。有効にするには:

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

gitに同梱されているストックフックも空白エラーを探します。チェックを手動で実行するには、次のコマンドを使用します。

git diff --check
于 2012-07-09T11:39:26.933 に答える
2

conflict-marker-sizeたぶん、大きな数で属性を変更することができます。大きな数字とは、行が長すぎるためにラテックス警告をトリガーする数字を意味します。

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