特定のファイルタイプのMercurial実行バイナリ比較[複製]
-
05-07-2019 - |
質問
最近Mercurialの使用を開始し、.SQLファイルの1つを元に戻したときに、Mercurialはバイナリ比較を実行しました。これにより、差分がないため、行われた変更の可視性が明らかに制限されます。
文字列比較を行うためにファイルタイプを設定するオプションはありますか?
Tertioise Hg 0.8.1とMercurial 1.3.1を使用しています。
解決
Mercurialは、実際のストレージに関して実際にテキストとバイナリをまったく処理しません。ただし、「この差分が有意義であることを視覚的に示す」と推測しようとします。 'hg diff'、 'hg log -p'を使用してユーザーに差分を表示するように要求されたとき、またはWebインターフェースで変更セットを表示するとき。 「これをテキストのように見せるべき」を作成しようとしているときテストが適用される決定は、「ファイルの最初の1000バイト内にNULバイト(0x00)があります。
したがって、ファイルはユーザー出力に表示される方法を除いて、別の方法で処理されませんが、NULバイトを見つけることができれば、おそらくそれを停止することもできます。
または、extdiff拡張機能を使用して、diffの表示方法を完全に制御することもできます。
他のヒント
TortoiseHgのグラフィカルな部分については知りませんが、コマンドラインを使用する場合は、 -text
フラグを hg diff
にするとうまくいくはずです:これにより、Mercurialはすべてのファイルをテキストとして扱います。
これらの行を〜/ .hgrc
に追加してみてください:
[diff]
git=1
git diff形式はバイナリファイルに対して機能します。