Mercurial выполняет двоичное сравнение для определенных типов файлов [дубликаты]

StackOverflow https://stackoverflow.com/questions/1405153

Вопрос

  

Возможный дубликат:
   Почему Mercurial считает мои файлы SQL двоичными?

Я недавно начал использовать Mercurial, и когда я вернул один из моих файлов .SQL, Mercurial провел двоичное сравнение. Это, очевидно, ограничивает видимость внесенных изменений, так как нет различий.

Есть ли возможность установить типы файлов для сравнения строк?

Я использую Tortioise Hg 0.8.1 с Mercurial 1.3.1.

Это было полезно?

Решение

Mercurial фактически не обрабатывает текст и двоичные файлы по-разному в отношении реального хранилища. Тем не менее, он пытается угадать, "будет ли визуально показывать это различие значимым" когда его просят показать diff пользователю с помощью 'hg diff', 'hg log -p' или при просмотре набора изменений в веб-интерфейсе. Когда он пытается сделать " я должен показать это, как будто это текст " Решение о том, что примененный тест - "Есть ли байт NUL (0x00) в первых 1000 байтах файла.

Таким образом, ваш файл не обрабатывается по-другому, за исключением того, как он отображается в выходных данных пользователя, но если вы можете найти там байт NUL, вы, вероятно, можете также остановить его.

Кроме того, расширение extdiff можно использовать для полного контроля над отображением различий.

Другие советы

Я не знаю о графической части TortoiseHg, но если вы используете командную строку, то флаг - text для hg diff должен помочь : он заставляет Mercurial обрабатывать все файлы как текст.

Попробуйте добавить эти строки в ~ / .hgrc :

[diff]
git=1

Формат git diff работает для двоичных файлов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top